On an average connection I will be sending to the server at 10 frames per second. So each hop, we need to guess where I will be in the future for the clients.
Not necessarily. That's one form of multiplayer that has been experimented with although it does have a common flaw of "guessing" the wrong way and creating a bit of an "over steering" problem.
With average connections you're looking at lag measured in fractions of a second, which is an issue all multiplayer games have to deal with in one way or another.
You send a message that you moved forward and left and within a fraction of a second you've moved forward and left on everyone else's machine. The fact that you're sending 10 messages per second doesn't have much to do with it except for bandwidth reasons. And... you don't necessarily have to send 10 messages per second. Send a message whenever a player's state changes. Or/And you could send the player coordinates so the other machines know precisely where the player is (no guesswork).
In short, most of it is left up to your client program. Our service simply connects you all together so you can write your client program.