Watching carefully here, as im also embarking on a 3d print exploration...
re: layer drift, might be worth checking tightness of drive pullies - mine came loose after a few hours work.
Also, are you running the steppers too fast? your axis might be losing steps on fast moves.
Bill
I've really gone through the whole checklist of things. Next paragraph is a big block of stuff I can remember trying.
Made a new simpler model, grounded the cable shields, put capacitors between the endstop signal and ground, probed about with the oscilloscope to see if I can spot any obvious interference, ran it super slow, ran it super fast and every speed in between, set the jerks low and high, accelaration too, got stuff tuned in so curling infill wasn't bonking into the head, made sure every nut and screw is tight along with putting lines on the shafts and pulleys to see if they slip, adjusted the belts, switched around the X and Y connectors to see if a controller is faulty, ran an indicator up the Z axis rails to make sure the screws werent pulling it about, set motor currents high and low and everything in between, made sure things moved freely and easily, tried other slicer programs... probably more i'm forgetting but you get the point.
I just completed an absurdly slow run on a new test object, and it's still wobbly.

The one on the left is the new one and the others are randomly selected from my now vast collection. The X axis direction is perfect.
So a pattern i'm noticing that isn't super clear is that it starts to shift in a sort of bulge outwards right before the top. Wonder if it's related to the progressive infill setting.
I also set up a dial indicator on the Y axis gantry, so when I jog it back and forth it should reset to 0. And it did for a few turns sending it back and forth 100mm, checking the indicator every few moves back and forth. It stayed at 0 for a while then moved a couple graduations away, then a couple more. And then back to 0. A full step is about half the dial - it's one of those lever type indicators that are way too sensitive and I don't trust the actual numbers, but it's all i've got.
So i'm not sure if that's from losing steps or if it could just be from how the belt sits on the pulley or something. Can you lose microsteps? Also I doubt jogging it back and forth a bunch of times is enough to really test if or how it's losing steps.
I've ordered a new stepper motor cable for the Y axis. Perhaps there's some intermittant short or something and at £1 it's probably worth a check.
Also I'll probably post this problem on a 3d printing specific forum and see what happens. I just want to make sure I get the uh obvious stuff out of the way first.