I feel your pain :-)
I was really overthinking things in my confusion. What seems to be working for me is: scan the semaphores that apply to my track and if none of them are clear then stop. If one of them is clear then continue at the speed limit knowing (from the semaphore placement) which track I'm going to end up on. Simple!
I also learnt I didn't have the correct goal in mind when I was previously running routes and this was affecting my scores. It seems silly in hindsight (given I catch trains every day) but I was trying to get 'my' graph line (the red one on the end-of-run graph) as close to possible with the grey line (I can't remember the name of it currently) but in doing so I was running consistently early because I was trying to get as close to the speed limit as possible. So I decided to back right off and just try to hit the timetable times... and my score doubled!
Now I'm wrestling with the handling differences between the smaller single and 4 car trains and the 12 car ones. The acceleration and braking is so noticeably different with 12 cars: the brake air-bleed duration really draws out starting and stopping.
Loving this game, you've done a bang-up job with the whole feel: sounds, movement, palette, controls. Really impressive, and I'm really looking forward to future patches of this simulation and to experiencing the future simulations that build upon it.