I followed some advice from here and got some results to report for reference:
Switching to a zero-crossing from random-crossing SSR did not visibly affect the light flicker issue.
Switching from bang-bang mode to PID at the bed heater did not affect the horizontal banding issue.
I was able to further tune the PID and keep light flicker to a minimum.
The Z axes construction was worse than I expected. I could measure +/-50% variation every Z motor revolution with just a basic electronic caliper. Apparently the Z screw rods were misaligned so just a little rod bend was being exaggerated.
The weight of the bed was high enough to press the Z stepper rotor downwards on high acceleration moves (this obviously depends on its construction), so I added some flange bearings at the bottom.
The Z smooth rods were not really smooth in the Z direction and needed some 800 or more grit sanding.
I remodeled and fitted bigger, bulkier variants of all brackets, couplings, etc on the Z axis.
Now after improving 2 out of 4 Z axes the banding is nearly gone!