(I opened a question here, but I don't think it's possible under the current core so I don't expect many answers)
The current tree implementation seems to always put children at exactly one depth increment relative to their parent. The problem is that in some pathological cases where one child is much larger than the others, it leads to very wide nodes:

Ideally, I would have liked a way in D3 to say that if this situation happens, the heaviest branch are allowed to be shifted at a deeper depth to free the space necessary for the tree width to be shrinked. Basically, I'd like this:

Instead of this:
