I've been trying to colorize images since the Pixmate/ECS Amiga days in the mid 1980s. I've never had much success until I learned to program ImageFX and developed my own color balancing tool kit based on this color theory.

Grey Scale Girl 

I begin with a grey-scale image. I use ImageFX's built-in Gamma function to adjust for best contrast.

Skin Color Girl 

Using CCBalance I adjust the image for a good skin-tone.
Colorspace=HSI, Hue=11, Saturation=20-30%, Skew=15-25%, Level=0

Background Girl 

I colored the background and hair in seperate buffers, then used rub-through to bring the elements together

Made up Girl 

After copying the image to the swap buffer, I used regions and CCBalance to shift the color of the eyes, lips and cheeks. Then I used Rub-through with Edge-Feather to blend things back together.

Gamma Adjusted Girl 

Finally, a trip to CCGamma for white-point adjustment and alittle gamma shifting ties the whole thing together!