You might look at loran-c
The master sends out a pulse.
The slaves receives the pulse and after a delay for each slave sends out a pulse.
master gets time for master sync pulse to time when master receives slave pulse, the time delay.
For what you want, delay has two parts.
1. Master to slave sync time
2. Slave sync time to master.
For #1 you have master transmitter delay, air delay, slave receiver delay and delay to sync.
For #2 you have slave delay from sync, slave transmitter delay, air delay, master receiver delay.
Could help to change #2 by a fixed amount so the master has better data to work with for a correction message to slave.