TL;DR
A few changes that I would like to see that would make building dense multi-level clusters of rails easier.What ?

Rails automatically try to snap to whatever layer your cursor is hovering over. This is only useful when building very large portions of rails that need to change height, which is probably not that often, and makes building small sections of rails in multi-level intersections much harder since you can only build wherever there aren't rails at that spot on the other layer.

Can I not place a signal here because there already is one, because there's one too close, or because of collision?
Visibility of ground-level tracks is highly impaired by the higher level in dense clusters, which again makes it really hard to see what you're doing and what still needs doing.
I suggest fixing these issues with two changes:
- Changing the rail builder behavior to always keep building on the layer it started in, and not try to connect to another layer even if the cursor is hovering over rails on that layer.
- Changing the behavior of the "switch rail layers" key to swap between having only low or high or both rail layers visible at the same time. Keep ramps and supports visible regardless for collision reasons.