YES. I think I get it.
Yes, the entire problem is the multi-cycle instructions before the interrupt. What "FvM" was trying to say is, when you enter your interrupt, first run some code that looks like "while(TCNT0<15) {nop;}". How exactly to accomplish this I don't know, because this while loop isn't one cycle long, but thats the concept. maybe some assembly code. This way, when you enter your ISR at TCNT0 clock cycle 10,11,or 12, you can always wait for 15, then run the rest of the ISR.
I had another idea. I am sending data to a DAC in a timer interrupt and am having the same jitter problem. My plan is to use the interrupt to load all the data into the dac, then use the hardware PWM pin to toggle the DAC latch pin. This way the jittery ISR doesnt even matter. For example, Timer overflows, ISR runs, load two bytes into DAC, set the DAC latch pin high, then at the next timer overflow, let the AVR hardware clear the output compare pin, pulling the DAC latch low. Then in the ISR again, setup the next sample. Maybe that helps.
And thank you for asking this question. I thought I was going insane that my timers were glitchy.