Also planning for my layout, several independent control systems.
Trains are built to run autonomously and behave based on colours they detect. This removes errors based on external connectivity and related latency issues.
Use RFID for external guidance. Can hack pup to recharge from metals rails for longer running time.
Tracks are split into sections and one or more controllers determines which train needs to be in which section.
Under-track switching of colours to halt trains until next section is clear and/or track is switched to correct path.
This would be an Arduino or possible rpi solution.