If you write a decent game engine there is no reason why you should EVER have a frame that takes more then twice as long as your vsync. If that is the case you need to either lower your worst case scenario (reduce geometry, particle counts, or whatever is killing it) or smooth out the computation so it's distributed over many frames (async collision tests, staggered ai). Also you can always add more buffers which will increase latency but give you another frame of buffer time. Obviously that is undesirable but if we think about trying to run at 120 hz it might make sense to have 4 or more buffers since each frame is only half as long.
Stutter really has nothing to do with the OS or variance in timing or any of that. Developers blame it on that because they don't understand how things actually work. As a developer you have it within your power to completely eliminate the stutter. If your game is running slow then it needs to be optimized. If your game runs fast but still stutters it's your own fault.