I don't think governments are to blame for this situation. The big companies should be obliged to pay taxes to the countries where they make their money but by complex structuring of their global empires they are able to make it look like they are not making any profit, despite massive turnover and it is all perfectly legal.
Governments are now starting to work together, instead of competing against each other, to make the global taxation situation fairer.
We have had a Senate Inquiry into the tax affairs of some very big companies who have been paying very little tax to Australia and officers of the ATO were embedded for months examining their internal workings. Representatives of the companies tried very hard not to answer questions citing "commercial in confidence" but the interrogators were not satisfied with their evasiveness. I listened to some of the testimony on the radio. It has become obvious that the only way to get them to cough up their fair share of tax is to shame them into it.
That's what the publication of the latest list is all about. When people see the names of the non payers they tend to become hostile towards those businesses and brand names. Companies then take steps to win them back. Maybe even pay some tax.
However, the real solution will take international co-operation on a grand scale.