Okay, I've tried using the raw MLT thing instead, and it's often off by 2 frames, so I think I'll just use something other than Handbrake to rip my source material from DVDs, perhaps this dvd::rip program I've used in the past which exports as AVIs. They rarely have issues.
Will probably continue using MLT as, although it's more difficult to use, it's enough for the simple task I need it for and more suitable for larger projects.
Anyway, it wasn't Openshot's fault after all. Possibly Handbrake, possibly FFMPEG, I have no idea.