The Ffestiniog remote operator for ETS works where winding the release handle "offers" the train to all the other ETS machines for the section (end or mid-point), and if the auto-response is line clear (effectively is the sum of releases and returns an even number) then you get the release. This makes it first come first served - the only proviso is you are supposed to check with Control before you do it - the only time I didn't was when we had a fire at Boston Lodge Works and I took the token to protect the fire engines crossing the line and then told Control what I'd done while the phone went red hot as the PW manager wanted to know why he couldn't get a release!
WRT to repeated trains, if you don't want train detection, locking the starter to the release and then having a timer on the starter would do it.