Once upon a time when implementing dithering I added a random component. Instead of picking a fixed value like 128 for black/white, pick a number between 64 and 192. This is obviously much slower, but helps break up some annoying patterns.
In particular, I was working with a video, and the standard techniques had a tendency to shift pixels by one position between frames. This is kind of annoying, it looks like camera shake. Random dithering created a sparkling effect, but noise is less optically confusing.
If you remember, Windows 3 and 95 had the basic Bayer dithering, while Macs had a Floyd-Steindberg. Any graphic designer would have their eyes bleed at looking at Windows desktop in 256 colors. Few graphic cards had 16 or 24bit colors at the time.
I love the look of Atkinson dithering so much, and implemented a version for use in Python many years ago.