Hi there,
as posted here:
http://www.operationphotorescue.org/forum/index.php/topic,3722.msg33369 I wanted to share with you and explain my color cast correction action, which you can download here:
https://dl.dropbox.com/u/7124285/Foren/Operation%20Photo%20Rescue/Color%20cast.atn (if you're having trouble downloading, right click, "Save as")
Since the action works similar to using the neutral gray eyedropper in curves or levels, it can only correct single casts, so casts from multiple light sources won't be corrected. Also the correction is global, selective work and fine-tuning might still be needed.
Having said all that, let's get started :-).
To start I'm going to simply run the action on one of the images from the archive:

Remember, this is just with the action, no user-interaction was required so far.
Now what the action does is actually pretty simple, but I added a few bits and pieces to improve the technique which makes things a little more complicated.
First what I did was run auto-levels and set the mode to "Color", the opacity to 60%. Why? Because I noticed that just running auto-levels gives me too much color most of the time, so I reduced the color enhancement part to 60%. If you want more color, increase the opacity, if you want less, decrease it.
Now the levels adj. is copied and set to "Luminosity" mode with 100% opacity. This sets the black and white points.
Next comes the actual color correction. The image's negative is stamped on a new layer and then the average color of this layer is found. Once this is done, the layer is blended in "Overlay" mode, which reduces the average color of the image most in the midtones and less in the shadows and highlights (so it corrects your usual cast).
Dan Margulis once said that usually images' averages are not completely neutral, but a little on the yellow side, so what I did next was blend a 54L, 0a, 5b into the mix to add a little warmth to the image (this was actually recorded in LAB mode to get the numbers right!).
The problem now is that the image brightness changed a little, so what I did was place yet another layer on top, fill it with 50% gray and blend in "Luminosity" mode to restore the original (improved by auto-levels) luminosity (this was recorded in 32bpc mode, so that it won't throw off 16bpc or 32bpc images).
Now if you need additional changes, you can put them on top, do your selective changes, increase/decrease opacities, play with the mode of the "Average" layer (anything from "Soft Light" to "Linear Light" will work, but "Overlay" works best for most images in my experience) or simply run the action again and reduce the opacity.
Personally I use this action as a starting point, but I always make sure to double-check my values afterwards and don't rely just on it.
I hope this helps some of you and if you have any questions or trouble running the action, just let me know :-)!