- Open your image and duplicate the layer.
- With the duplicated layer chosen, select Filter>Blur>Average (Ctrl-F).
- With the duplicated layer still chosen, select Image>Adjustments>Invert (Ctrl-I).
- Change the duplicated layer's blending mode to Soft Light (Overlay works too).
Average finds the average colour of the image (or selection) and fills the image (or selection) with that average. It will find the colour from the cast and your duplicated layer will appear to be filled by this colour after this step. Invert inverts the brightness values on the 0-255 scale (255 becomes 0, 10 becomes 245, and etc.). Once inverted, you've found the complimentary colour for the cast. Now, it's working just like a colour filter. Soft light dodges the lights and burns the darks (overlay is a contrast multiplier) and cleans things up a little.
Try it. On first glance, removing colour casts starting with a blur filter might not make much sense. But, I think you'll be surprised by the results.