Varying spark, out of ideas

Pop the cap, and check to see that the rotor snaps back when you turn it and let go.
If the rotor does not snap back, or does not snap to the same parking spot each time, then you gotta fix that first.
But if it does;
Defeat the Vcan, loosen the Distributor hold-down, get the thing running, then reach over to the distributor and grab the V-can and pull on it until the rpm don't go no higher. Reduce the curb idle screw to get the engine down to about 500/600 rpm.
NOW, check the timing.
If
the balancer has not slipped and
the cam-timing is close enough to correct, and
the stinking low-speed circuit is working;
Then
I would expect to see 25>maybe 30 degrees.
If this is not the case, My money is on a slipped ring on the balancer. Verify the TDC mark is actually synchronized to TDC #1piston. I don't care what stroke it's on, the engine runs.

However, if your compression is truly as low as you say it is (106>122), that engine is toast anyway. At your elevation, the pressure should be closer to say 140psi. I assume you have verified it with a second gauge.

Of course NONE of this addresses the varying timing. While 3>4 degrees at idle sounds bad, it's not that big deal on your engine.
Instead, defeat the Vcan, and rev it up until it stops advancing, it should stop around 3500; then see what it is doing. But if this takes more than 4000 rpm, and/or your rod bearings are ancient, IDK; maybe you don't want to go there.
If it levels out at some number close to 35 degrees, great. If not, then change the distributor until it does. If it runs there with little to no variance, then just drive it.
Bu if it is still jumping around, IDK. Cuz by 3500, the valve springs are dragging on the cam, and all slack in the distributor drive system should have been eliminated. My only thought, in this situation, is that the oil-pump drive is jumping up and down. That's not supposed to be happening at 3500. But it could at idle.