I think I have discussed it somewhere, just too lazy to search for it right now, so here is the idea (to be implemented):
A function can be added to the trigger feature that could stack a route for execution - immediately or once the path is free. If such a trigger is placed at the beginning of a block, it could do the trick.
With some enhancement that mechanism could be set up to set different routes depending e.g. on the train type.
Finally, with the superblock construct, the trigger can be placed just a brake distance away from the exit signal, if the (overall super-) block is very long and you don't want to set the path for continuation right upon entrance but sometime later.