Character Position Asynchronicity

Due to lag, a character’s position is different for

  1. the local client
  2. the server
  3. every other client depending on their ping

This is true of all online multiplayer games, but other games have methods to lessen this effect. I am looking for a good method to go about this, and I have very little knowledge about it so far. I have read about custom replication, but I wonder the viability of that on Roblox, so if not that then what else could I do?

I am trying to make a hack-and-slash game such as Chivalry 2, which relies on player position immensely. In past combat systems I have made, the asynchronicity has been an extremely common complaint: “Faulty hits are registering.” or “My hits aren’t registering.” depending on whether I handle hit detection on the client or the server.

Any advice is greatly appreciated.