The solution is raise taxes, but people's heads explode when that gets brought up. And no, not "tax the suburbs more". Taxes don't work like that. So the core doesn't vote for increased taxes because they don't want to subsidize the suburbs (they don't), and the suburbs don't vote for increased taxes because the taxes they already pay aren't getting them the infrastructure they need.
Take some of the rural parts of Ottawa, for example. They pay the same residential taxes as you or I, and their infrastructure absolutely sucks. However, they pay lower fees for things like transit. The logic is, because they have little or no access to transit, they should pay little or no transit fees. No. Charge the transit fees, and get transit built. And then increase the damn taxes to pay for the rest of the infrastructure.