I was pleasantly surprised when I discovered you can directly manipulate hsv values of the Color object (hsv stands for hue, saturation, value(brightness))
var color = Color(1.0, 0.0, 0.0)
color.s -= .1 #desaturate
color.v += .1 # brighten
color.h += .1 # hue shift
EDIT: Oh. It's shaders. Nevermind the above then :) I just woke up, minutes ago.
For distance fog, other than mixing, doing a simple additive blend often works fine as it will have the effect of brightening and desaturating the color appearance. Color you add doesn't have to be very bright, so exepriment with what works best.
color += distance_color * strength;