Maybe what it all comes down to is that it makes more sense to tax transactions and charge corporations for services (e.g use of roads) that are tax funded.
To avoid doubly charging companies that do pay taxes for profits one could charge fees for use of infrastructure and count taxes collected against those fees.
Companies like Google and Uber that use public infrastructure could be charged for it, and unless they paid enough taxes they'd owe the difference.
How much of the internet infrastructure Google should finance, or how much the cost of Ubers road use is will be somewhat arbitrary of course, just like the current situation - which is the lesser evil comes down to whether one is more comfortable leaving arbitrary decisions for tax authority bureaucrats or enterprises.
The whole problem with taxes is that you want tax revenue but you don't actually want to tax anything because taxing things causes people to avoid doing them. That's why everybody wants corporate income tax -- who cares if we discourage "corporate profits"? The problem is what you really end up doing is discouraging corporate profits in your country, so the profits end up somewhere else instead.
The best possible tax seems to be to impose VAT on everything, so that the rate stays low because there is a broad tax base and you're not discouraging anything in particular very much.
Fees for infrastructure are the opposite of that. A 20% VAT makes the thing 20% more expensive, which isn't that bad. An infrastructure fee for what would otherwise have been zero cost makes the thing infinity percent more expensive. It's basically the worst case scenario.
So for example a high tax on network usage is basically going to kill YouTube (and every other streaming video service) because the amount of bandwidth it uses for the amount of revenue it generates would no longer be worth it. Then your total network usage has been cut by 80% which means you need to quintuple the fee to make the amount of revenue you were expecting and it quickly snowballs from there.
The problem is that's not how profit works. There is no "in each country" to calculate. They paid $15B to employees in 20 countries and then made $20B in revenue from 20 countries. There is then $5B of international profit, but how much of the profit belongs in each country is completely arbitrary. There is no objective reason that it should be where the software was developed vs. where the software is used vs. where the owner of the company lives etc.
The standard they try to use for these things is what would be negotiated in arms length transactions, i.e. as if each of the subsidiaries had separate ownership. So one entity pays $1000 to develop software, another can make $1200 in revenue if they buy the software, what price do they negotiate? It's ostensibly going to be something between $1000 and $1200, but whether it's $1020 or $1180 is down to the negotiating skill of the parties. Both numbers are completely reasonable and might be seen in actual transactions. But the difference determines where 90% of the total profits go! It's clearly then going to be quite plausible to arrange for the profits to end up where you want them, which is what happens.