You can use priority markers near the ends of the siding to limit the trains ability to go through sidings/passing sidings. The default is 2 and if you set the siding marker to priority 3 then a train will select that route only if no other route is available.
Or you can use the set path and autodrive rule. Takes some setting up but well worth it. The JR signal offset is used when there is one signal facing a junction convergence, if I am not mistaken.