Edited my post after thinking a bit more about it
As for your theory:
I don't think it would work. What frames would you display every 16ms (at 60Hz)? How can you display only one full frame if that frame has not been rendered completely yet by the GPU? If you enable Vsync and render at 45fps with AFR, every 16ms one full frame will be displayed on the monitor, right? That is not the problem, the problem is the content of these frames. You would have two or three frames with similar content and then a larger jump because one GPU was busy and couldn't render the missing frame, so it had to skip it. Thus a certain portion of game time is not represented on the monitor and that is perceived as stutter.
What has to be done is to ensure that all GPUs start their work following a regular even pattern. Think about it: For example if you're CPU bottlenecked, each GPU will have a bit of breathing time since it has to wait for the CPU. The CPU will be the timer so to speak, ensuring that no frame is begun too early or too late.