Yeah, most people starting to develop have this hope But is does have another feature that kinda breaks that assumption, you can cancel commands by sending a new one. Using the Launch formula you can calculate where you are at a certain time or when a command will end.
Yeah, that was the goal of Funscript. The algorithm requires knowledge (where+when) of the next position in order to calculate the speed when sending a command.
In a real-time situation the best you can do is trying to predict the next position as best as possible.
Thinking about the problem, there might be another trick you can try to use in addition to predicting positions. As I said, the Launch cancels the previous command as soon as a new one comes in. So when you detect your position prediction was wrong, you can send a new command when the previous one is still moving. To make this work best you can calculate the current position of the Launch based on the last command + time passed, so you can use that as the start position for the new command.
Much less interesting but simplifying the real-time problem is using fixed positions or speed.