To be honest, the problem may be the dividing of the cities as such. The solution may instead tax and run all of them as a single block (e.g. minimize city government in favor of county) or even combine into a single city.
This is moving the goalpost of the conversation above a bit, but my point is that the problem may not necessarily be "cities compete," the problem may be with the local bureaucracy. This can manifest in lots of ways like you describe.
The fact that cities need jobs and an inflow of money in order to function means that they're forced.
It's like saying that nobody forces you to take a job coz the park bench is always an option.
A city also has property taxes which make up a large portion of my city's budget. I pay ungodly sums in property taxes for a not-that-expensive condo. The city gets away with this because the location is desirable and we have great public-transit.
Because of the property tax revenue, the city does give some companies a tax-break. But also because of the property tax, citizens keep a close eye on things, so most tax-breaks around here end up looking like forced-improvements or other public-goods.
Each city is different and will find the best way to fund itself. Saying they can't pay less for something they want forces the funding problem elsewhere.
The reason your condo was relatively cheap is because your city has high property taxes.
Your city may decide it wants to drive out rent-seekers by hugely taxing rental income or raising property taxes on rentals. This would effectively be a business tax. And the town next-door could decide it wants condo real-estate development to attract young urbanites, so it might notice your town's changes and offer tax-free rental income for N years. This allows each city to benefit their tax-base/residents the best.
Your point (I think): It's competing with other cities and taking less tax in doing so. So it may end up _less_ ahead than if there were no competition. Since every city is doing this, it makes sense to keep under-cutting other cities until the net-gain is effectively just larger than zero.
Nobody forces the city to participate or offer incentives. This article advocates that they shouldn't.
A city should be clever about its incentives and make them align with what the company wants so the outcome isn't so zero-sum.
Many cities do this with zoning - only allowing waterfront building permits if the developer also builds parks or whatever. These increase the property-values for the developers while paying for a public-good that everyone can use.
Something similar here may be to offer tax credits toward infrastructure near the campus. E.g. don't demand the taxes directly but instead force the company to build new roads.
This is more or less an accounting-trick of course, but imho it's a lot less zero-sum and actually forces the company to consider how their incentives (or requirements) will actually benefit them.
If you prohibit all tax-incentives, cities are effectively forced to pre-build or promise services to make themselves attractive to companies. This can lead to huge amounts of waste (4-lane roads that could have been 2 for example) and cities defaulting on bonds to build such things when the company ends up choosing another city etc. I don't know if this is much better than requiring clever accounting.