The problem is that leading the shot has two side effects: 1. what you shoot at in game isn't what you're hitting on the server, (you shot a player, but dirt kicked up from the ground several feet in front of them) and 2. some gameplay mechanics rely on accurate replication.
If you throw a grenade at a player and "lead the shot" maybe it sticks to them on the server. It kills them.
But on your side, it missed because you personally lag compensated, stuck to a vehicle, and now the vehicle blew up instead and flew off a cliff.
Now the game sends back updated entity positions and the vehicle and its occupants are back on the ground and everything just snapped for you.
You can rewind game state and make it not visible to players, then run hit calculations and do things like kill players and destroy objects without snapping.
Proper lag compensation implementations make it such that infrequently do you actually notice lag, even in exceptionally poor connection environments.