There is a lot more going on that simply avoiding double tax. I'm not saying I blame them for taking advantage of the prevailing laws to pay as little tax as possible, but for them to claim it's simply avoiding double tax is very disingenuous.
Please note that in no way do I think this is a good thing to do, or that I'm remotely in favor of the current situation. It sucks and I'm not. But Congress made that game, and they completely lack the moral authority to complain about others playing it.
Put this in coding terms, where each tax code requirement is a conditional branch in a `calculateTax()` function. If you write a function with 50,000 conditionals, you simply can't be surprised that someone figures out a way to call the function with arguments that give the best possible output for them. Even worse, you can't close those loopholes by adding more conditionals. By definition, you're only creating more optimization paths for them to choose from.
One thing they try are schemes like alternative minimum taxes:
http://en.wikipedia.org/wiki/Alternative_minimum_tax
Computationally, they solve this problem. But, as far as tax terms, who knows.
Should Congress not try to fix structural problems in the tax code which allow plenty of corporations avoid tax obligations?
Americans are required to state global income over some threshold (I believe it was around $91K this tax year). Few other countries apply a tax to wages earned overseas by citizens. After passing a minimum threshold, tax treaties are applied to determine precise tax liability for the year.
"If you are a U.S. citizen or resident alien, the rules for filing income, estate, and gift tax returns and paying estimated tax are generally the same whether you are in the United States or abroad. Your worldwide income is subject to U.S. income tax, regardless of where you reside."
"If you are a U.S. citizen or resident alien, you must report income from all sources within and outside of the U.S. This is true whether or not you receive a Form W-2 Wage and Tax Statement, a Form 1099 (Information Return) or the foreign equivalents."