Big cities have highrise buildings. Some cities have a maximum height limit.
What would you get if you instead had a limit on buildings being a similar height to those surrounding. Would that solve, partially, the canyon problem?
A simple example... For a building site, the building may be up to 5 stories. Building to height X will be approved if there is no building taller than 0.80*X within a distance of X metres from the building base.
The result would be, I think, to push the ultra tall buildings apart, and ensure views are kept. (even if they are perhaps only views to tall buildings further away, this still would seem more natural and healthy in keeping a sense of scale).
The layman version: "Buildings must be at least one quarter taller again than nearby buildings."
Comments and additions please...