They should have a new tax where a companies profits are estimated globally and then a percentage of that is allocated to the countries where it trades based on the amount of trade done there. So if facebook's global profits are $2.9bn and it does 50% of trade in the US then it should be taxed as having made 1.45bn there and then pay US tax (35%) there so $507m there, even if they claim all the profits were made in some tax haven.
It seems a simple solution but there is probably not much lobbying money in the politicians bringing it about.
It seems a simple solution but there is probably not much lobbying money in the politicians bringing it about.