I think the trick is to avoid having a solid band of colour between two different shades (sounds obvious )
What I find I end up doing is making sure different tones have quite different "outlines", so my darker colour and lighter colour end up almost touching at a couple of points while the midtone acts kind of like large-scale AA on the sides. I'm sure I've explained that poorly, so here's an example:
(banded version exaggerated)
see how the shape of the red-orage blob is different from the mid orange blob is different from the yellow orange blob:
The principle of avoiding band
shapes is promising in the abstract, but the arm example demonstrates that defining shapes with correct lighting is vastly more important than banding and banding avoidance.
The "banded" version has a more rounded and better looking shoulder, a pillowshaded but reasonably shaped biceps, and a strangely lit but rounded forearm, while the "better" version has stronger and harsher lights (due to the lightest orange clusters being much larger with the darkest orange clusters remaining about the same), abnormally flat biceps and forearm (as if pressed against glass), and the same incoherent light sources.
When the size of banding-related clusters is comparable to the size of the depicted objects, they simply cannot be altered in such arbitrary ways: working at the single pixel level is required to reduce banding without butchering shapes.