I'm not a tax lawyer either, but I did stay at a holiday inn last night... Which sadly is my only qualification to comment on this topic. In any case here is how I see it, not that I'm right.

Shareholders of international companies are better off if the company doesn't pay the tax penalties from repatriation. Those shareholders will pay taxes on dividends and capital gains, if nothing else. But the question is why would a company bring money back from China (for example) only to pay taxes on it before sending it back to China to pay for the next round of manufacturing? Also, international companies almost always are required to pay taxes on the profits in the country it was earned. There are games you can play to show the profit in your home country, but those are unethical. To understand why think about it from the point of view of each country a company operates.

When accounting decisions do come down to questions that could go either way, profit is shown on the books in the country that would incur the least tax expense. Its exactly what most individuals do. For example I love the big city I live near. However, I chose to live outside of city because a don't want to pay for the city government services when the little town I chose live in has similar services and lower tax rates. I pay for the city services I use through the city sales tax, but they are crazy if they think I'll start paying city property taxes on a house that I already pay property taxes on to another town. If I did own both a city home and a home in the smaller town, there is no way I would be OK with the city bring to tax me on both. Similarly Apple pays taxes on its US operations to the US but why should it pay the US taxes on foreign earned profits that it already pays foreign taxes on?

I have a hard time faulting a company for not paying anymore than the rules require. Unless every company can agree on how much extra they should pay above the minimum, a company not minimizing their tax burden is at a financial disadvantage and will lose marketshare and eventually be marginalized. The only way I know that you can obtain an agreement to the amount of taxes that should be paid is by changing the tax law. Want more capital brought back into the US economy? Lower the taxes below those of the countries the US is competing with for that capital. Want US companies to pay more taxes? Raise the base tax rate, and close loop holes. While I'm thinking of it... Loop holes are almost never what we think they are. The vast majority are not some shady accounting trick dreamed up in a darkly lit room by a weaselly accountant or tax lawyer. They are discounts on the tax rate voted on by congress, usually intended to produce some good like creating jobs.

Really though, if you think about it... It only makes sense to make it easy on companies to move money into the US. If a company wants its cash back in the US, there are only three thing I can think of it would do with it. 1. Put it in the banking system, which grows the economy and increases taxes. 2. Spend it, which grows the economy and increases taxes 3. Give it back to investors, who pay taxes on it and then do one of the other two things.