I have suggested this before, and I'll suggest this again. The whole problem could be solved if we gave people the choice of voting where they work rather than where they live. Currently every city wants all the businesses that they can get because businesses generate lots of tax revenues. Cities do not want apartments because that doesn't generate revenue, and locals object on the basis of NIMBYism. But when everyon…
• more municipal revenue means better schools and infrastructure
• better schools and infrastructure would support more development
• higher property taxes would remove the incentive to hang on to property forever making it easier to buy and develop property
• removing the disincentive to sell property also reduces the NIMBY imperative, since home owner can move to another area if they don't like how their neighborhood is developing
It's not a silver bullet; we'd still have to tackle zoning issues, remaining (and still powerful) NIMBYs, and the everyone-has-a-veto problem, but it's a good start.