In the end it comes down to something rather simple. For government to change the way we grow -- to rein in sprawl and move to a more compact form of development -- will require government to make decisions that upset some people. Maybe they will be developers, or bankers, or farmers, or drivers, or whatever. There will be no solutions that will not have a counter-argument, or will not bring the wrath of some special interest somewhere. It comes down either to barriers or rules that won't be universally loved, or to changing the way people think.
Frankly, I don't have a lot of faith that this government -- or, really, any government I can imagine these days -- is going to give this issue the priority required to make a real change. That is, they won't be willing to spend the political capital required to make an impact, unless and until the broad public generally decides that we must make big changes. And I think that is far from happening.
Right now, my sense is that much of the public thinks of sprawl as something that someone else has to stop doing. I.e., "sprawl needs to be stopped so that traffic in my suburban zone doesn't get worse". I doubt things will change much until people get to "Development of neighbourhoods like mine is unsustainable because we can't get anywhere without driving. We need to change development and my neighbourhood."
So, we can just wait for the world to run out of cheap gas. Or we can try other ways, like looking at this as a marketing problem. Or maybe there is no problem, and I'm just trying to impose my biases on other people.