Establish a federal minimum for local taxes. No sweetheart deal in the country entice the business more than the minimum allowable by law.
Might as well go ahead and also ban cities from building stadiums at taxpayer expense, but for some sports team owner's near-exclusive benefit. It's the same kind of extortion: give us what we want, or we go to another city.
The trouble is that, at a higher level, this unwillingness to play ball may just result in the companies fleeing to other countries rather than other states. This involves a higher switching cost for most companies, and would require more incentives than that for intra-nation migration, but it's still possible.
If they could they will do it. But it is not possible as you need data locality. If your data center is in China, it cannot compete in speed with a local data center. And this is true in different ways for a lot of businesses. That is one of the many reasons why all business are not already in India even that everything is way cheaper there.
And how a small company can compete with this kind of deals? Google is already having a scale advantage add to that tax breaks and it's impossible to compete with them. These tax breaks have a very bad impact on any capitalist economy.
Any tax breaks offered to and accepted by a corporation reduce federal dollars provided to the state where the tax breaks were provided. Let the state deal with the accounting internally if you want to penalize locals directly for their actions.
This doesn't outlaw the tax breaks, but it does force states to feel the pain of doing it by making it net out. No different than when the federal government requires states to raise the drinking age to 21 by withholding highway funds.
If we can cap SALT deductions, this isn't much of a stretch beyond that.
This is the most critical piece. What would legislation to address this at the national level even look like?