No matter what I've tried (z wobble isolator, z axis strabilizer, threaded rod diameter/pitch changed, etc.).
Yesterday my heated bed's MOSFET failed while printing yet another calibration cube and guess what... NO Z RIBBING!!!
After this event, I started to suspect some bed temperature related issue was causing my z ribbing, which was consistent across different custom 3D printer prototypes.
Usually I print with PLA and the bed set at 45ºC for best adhesion. When the MOSFET broke the bed temperature rised up to 90ºC, probably because the current was flowing freely to the heated bed, limited only by the 20A maximum supply capabilities.
Here is a side by side comparison of the calibration cubes printed with the at 20ºC, 45ºC and 90ºC (the one with faulty MOSFET):
Initially, the only guess I could make is that the current Marlin firmware I'm using on my atmega 2560p (Marlin 1.1.0-RCBugFix - 26 July 2016) might have some trouble managing all the tasks to be done when the bed heater is on, and was missing some steps/accuracy in the motors movements...
then I came across this:
Horizontal Banding, or Z-Ribbing investigated. [SOLVED!]
It seems the "PID loop needs to be tuned very well on a bed such that the power applied to the bed doesn't fluctuate wildly"
See also: http://forum.seemecnc.com/viewtopic.php?f=37&t=9865&p=86232#p86232
Finally, after doing the PID tunning: