*Idea
Have it client-based, like you said, but have all the clients do the physics at a fixed rate (servercvar?). Then, every 10 seconds or so, update the REAL position of the vehicle. And the physics engine doesn't have to be great and complicated. Heck, the physics engine in halo 1 was just shperes and springs.