This is a hard problem, and isn't made easier by moralizing, which seems to happen heavily on both sides.
Personally, in the US, I think we'd be better off trying to make our mid-sized cities more desirable than turning our handful of large cities into giant skyscraper-filled concrete grids. We have plenty of space for everyone in the US. The problem is people all want to live in an increasingly small fraction of it. Increasing the density of that tiny fraction while the rest of the country empties out doesn't seem great to me.