The whole multinational thing is about fairness. Because it's not just that they don't pay any tax, but they destroy our companies while they're not paying any tax. Obviously it's a difficult problem to solve legally, but ultimately the point is why should we allow Starbucks to compete with a local chain if the local chain is paying their taxes by Starbucks isn't?
On the wider problem, ultimately you have to set taxes at the level that will bring in the most money without harming the most vulnerable in society. If allowing the super rich a tax rate of 10% that they'll actually pay brings in more money than a rate of 50% that they'll avoid, then being pragmatic may make sense. But if they're just as likely to dodge 10% as they are 50%, then fuck them. Make their life as difficult as possible. Make them live on the Isle of Man for half the year as punishment for being such a greedy bastard.
One thing I've always wondered, and perhaps someone more economically qualified than me can answer it, is why can't we just put huge tariffs on any money going to or coming from a tax haven? Why not just slap 50% tax on anything coming from the Cayman Islands to the point that it's uneconomical to base your company there? Because let's be honest, you're never going to get international agreement as long as most of the world's countries are run by the very people who benefit from these tax arrangements.