I am an American citizen. I live in Mexico for about 11 months out of the year. The US, unlike most other countries, taxes its citizens on their worldwide income.
So I pay US taxes. If I had Mexican income above ~$95,000, I would also owe US tax on that income, but I would receive a credit for the taxes I paid to Mexico. So why aren't we doing this with corporations?
I have no problem with corporations having foreign subsidiaries - there are many good reasons to do so. But to allow them to be set up in such a way that they have no "tax home" (and therefore no tax liability) whatsoever is ridiculous.
US corporations should receive a credit for taxes paid abroad, but if they're paying less than they'd pay in US tax, they should be paying the difference to the US. After all, they're taking advantage of the legal system, the educational system, the infrastructure, etc., etc., there. They're selling their products in the US. Why should they get a free ride when US citizens abroad are on the hook for US taxes, no matter how long they've been abroad, and no matter how little time they spend in the US? If "corporations are people", why aren't they treated like people? It seems so simple...