TL;DR
A toggle able option that causes a train to reserve a train stop when it starts to head to itWhat ?
Add a checkbox to the train stop GUI that when enabled causes the train stop to become reserved when a train heads to it. A train just marks the train stop as its destination, and the train stop gets marked as reserved. If another train trys to go to the same train stop, it would appear as disabled to it.Thinking along the same lines of rail signals where trains reserve them by marking orange.
Why ?
Currently you can enable/disable train stop by conditions. A simple example would be having the train stop out put if a train is there, then reroute the output back to the station to disable when a train is there. Say you have a coal drop off station that turns off when a train is there, along with 3 trains that drop coal off there. Train A just leaves the drop off station, when train B and C are full of coal, they see the station is enabled and both head towards it. Train B gets there first, and causes the train stop to be disabled. Then train C gets there, is stopped by the signal, then sees the train stop is disabled the heads back to the coal pick up station. Train C achieved nothing but causing traffic.With the change, train B would mark the station as reserved causing train C to never move in the first place, thus stopping the pointless traffic.
The above is a rather simple example, a more complex is take 20 stations all named "Iron Plate Unload", and 5 stations named "Iron Plate Load" with 5 trains running between "Iron Plate Unload" and "Iron Plate Load". Each station named "Iron Plate Unload" has a disable condition if it has a lot of iron plate or if a train is there. The unload stations also go though iron plates rather slowly, allowing 5 trains to fully supply all 20 stations. Say all 20 stations have plenty of iron plate so they are disabled, and the 5 trains are waiting at the 5 "Iron Plate Load" train stops with full inventory. 1 of the stations needs iron plate and is enabled, then all 5 trains go for it, just so 1 can get there and 4 can turn around. Then take the same case for every other resource and all a sudden you have 100 extra trains driving though the base causing a bunch of traffic while transporting zero materials.