Something should be done that taxes money that crosses borders. But that will never happen as thats how the rich stay rich, live in one place an earn in another.
So take a local independant coffee shop, owned by the women down the street. Everything about it is registered in UK, so all taxes paid go to HMRC. There are a few staff on minimum wage, and the owner makes about twice the minimum wage. So basically the whole turnover is generated in UK, then spent in UK.
Then look at the Starbucks model in the UK, they have roughly 1000 shops, they basically do the same business so you'd think the ratio of tax to turnover would be the same, ie pay 1000x the tax. But it is skewed miles away, because Starbucks UK pays a massive payment before tax to Starbucks Luxemburg for the use of the Starbucks brand name. So the ratio of profit and there for tax on the UK books is a lot less. Meanwhile that cash sent to Luxembugh will never see the light of day in UK ever again. All the big international firms are at the same game, Monoco, Caymans, Dublin etc.
These big firms make sure to give donations to the political parties, so they get the laws written that suit them, never mind they are bleeding the country dry.