В большинстве игр используется некая форма отсчета http://en.wikipedia.org/wiki/Dead_reckoning, которая допускает отложенные обновления, распространяемые с сервера, но сохраняет некоторую иллюзию обновлений в реальном времени на клиенте.
Лучший вариант - 3. Он не особенно сложен - просто отслеживайте, где вы ожидаете, что каждый актер будет основан на механике игры, и когда вы получаете обновление от сервера, вы приводите два состояния в соответствиечерез некоторое время.
Если вы обнаружите, что сервер отправляет вам состояние, которое слишком далеко от состояния, которое принимает ваш клиент (слишком далеко нужно определить), то вы можете просто перейти к состоянию сервера и принять разрыв на клиенте,