A few years late but just in case anybody stumbles upon this. You should be using FixedUpdate() for movement. I believe fixed update runs seveal times per frame in some cases and is designed to run at fixed intervals for this exact reason.