Varying spark, out of ideas

I've had for a while a problem with varying spark timing and it's been getting worse, varying about 3-4 deg each rotation. Now the engine runs pretty poorly at idle and does not get better with RPMs.

I've put on a new distributor, cap and rotor included, and just checked point gap again, setting it to .018.

I put on a new coil and new wires.

I thought I had diagnosed a timing chain with weak stretch, as it had all around low compression (106-122 psi) and varying spark timing. I read of a way to test chain stretch without removing the cover by counter rotating engine twice stopping at TDC, then rotating the engine until the distributor rotor moves and measure the degrees it took. Supposedly 7 is ideal, 10 is limit of acceptable, and I measured 12 degrees. So I then did a timing chain replacement and the engine is not running better. I've not checked compression or timing chain stretch since however.

What else could be the culprit?