This can be done, but requires some manipulation of the train's route. This game is setup so that if a train loses its current destination it will proceed to the second stop on the list. This can be used to reverse a train.
If that sounds a bit complicated, here's how to implement this: Edit the stuck train's route so that it only has two stops with the second being the one you wish it to go to next. That would be the one in the opposite direction to what the train is facing now.
If the train only has two stops and is currently headed to the second stop, delete the first stop and add it back which will automatically make it the second stop and the train will turn.
If the train only has two stops and is currently headed to the first stop, we need an extra step. Delete the first stop. Add it back. Exit the routing screen. But, the train didn't turn yet. To make the train turn, re-enter the routing screen, delete the first stop again and then add it back making it the second stop. Now the train will turn.
Trains tend to jump signals in stations. Designing track to avoid this can prevent most jams. Make any split of one track into two far enough from the stations that the rear of any train in the station is still on the single track section. Make sure that any signal other than those near a station provide two options for a train. Passing siding or Y-branch. If one is careful how he uses signals the game can be run with little more than the occasional jam.