Having multiple routes between any two points seems to be a good way to avoid your train network jamming up. These could be completely different routes, perhaps one going north then west, while another goes west then north, to reach the same point, but I suspect that this often results in uneven routes, with trains preferring one over the other.

Alternatively (or in addition), I've found doubling or tripling each track to be more effective. Trains can divert past each other, avoiding breakdowns and overtaking slower trains.

Naïve approaches, however, are insufficient. Simply having two tracks side-by-side doesn't allow trains to overtake slower trains or breakdowns. And adding level crossovers means that trains travelling in parallel will have to wait for each other when they reach that crossover (unless you have PBS), even though they might prefer to stay on their current tracks.

Two tracks

Instead, for two tracks with a 1-tile gap between them, it's fairly straight-forward to make each one branch across to reach the other, then have one of the branches tunnel under (or bridge over) the other. Two trains, arriving on different tracks, and intending to leave on different tracks (but not necessarily the ones they started on), can use the crossover at the same time without any waiting.

Three tracks

Better still, have three tracks! But to achieve the same goal of allowing any train to go from any track to any track without interfering with any other train not connected with either track, you need a much more complex crossover.

My procedure for inserting one of these into a possibly-live piece of track is as follows:

  1. First, identify one track as the straight one, and force traffic on the other two tracks to use it, near where the crossover will start.

    Similarly, estimate where the end of the crossover will be, and allow the traffic to split apart again. The two unused tracks can be removed now, to make way for the crossover.

    We'll label the row of tiles used by the retained track as A. The next row, which we've cleared, will be B, and so on.

    (These alterations will be removed once the crossover is complete.)

  2. After the track has merged, branch it out again diagonally to span 5 tiles (A to E), then continue along E in parallel with the original track a short distance (5 or 6 tiles, just to help you remember where you are).

  3. You can now put two tunnels under the diagonal section, each of external length 4. After the B tunnel, lower 5 more tiles, then another tunnel of 4.

    After the D tunnel, lower one tile, then another tunnel of 4, then lower another tile, then a tunnel of 2! — and finally lower two more tiles.

  4. Now, as soon as possible from the first tunnel on B, branch across to C, and go up the ramp so it's back on the original level. Immediately branch across to E.

    Also, continue along C far enough to collect a similar branch from A, then go two more tiles. On the original level, that's 6 tiles altogether.

  5. On row C still, at the end of the track so far, make a ramp down with the next tile, then keep the next two at that level. Span this dip with a bridge of length 4.

  6. On row D, out from the 2-tile tunnel, continue straight for two tiles, before rising up and merging with the bridge line, and then sliding over to row B.

  7. Row E is all but complete. Just continue along E, until there's room to slide back across to C, just after the bridge.

  8. Back on D, branch under the bridge to B, before rising and joining A.

  9. On B, rise up out of the tunnel, then slide across to join A.

  10. Back at the end you started on, make row C branch onto D to descend into the tunnel. C itself should continue until it hits the long diagonal.

  11. Add signals and remove the two diversions before and after the crossover as you connect up the main tracks to it.