Error diffusion dithering is kind of old fashioned. It is a great algorithm where you only need to go though the image once, pixel by pixel. But it doesn't work well with todays hardware, especially GPUs. Would be fun to come up with new algorithms that are better parallelizable.
Deterministic random value dithering, where the chance of being the dithered color or not is based on the percentage that the true value is that color?