Mike
For some reason, I'm reminded of something that Don Lancaster came up with for the Apple ][ series computers, the "Vapourlock". It used reading from a write-only memory location (something to do with the tape drive hardware) to sample the memory data fetched by the video hardware to work out exactly where the video hardware was in its scan pattern, synchronized to that over some number of scan lines (there was a CMP / BNE loop to start with, so a seven cycle window to start, cut in half each scan line), and at the end the program knew exactly where the raster beam was, and could switch video modes at least on a scanline boundary with no jitter (horizontal raster effects), and possibly within the scanline (vertical raster effects, if repeated properly).
It might be better in your "no jitter interrupt servicing" to have some way to query the device as to how many cycles are left before it really needs service, and burn those cycles off "correctly". Conditional jumps to the following instruction (two cycles if not taken, three if taken, no other effect) might help here.