I love how examples of rescuing the image are so oversaturated and clipped.
What I did:
Created two layers in CS5, Top layer was a screen overlay, pulled back until the brightness was correct.
Then manually edited the RGB values in levels with the slider. The grey of the jacket is perfect for getting a neutral reading from.
Then added contrast by dodging the highlights around the light spots, bit of the jacket, forehead and tips of the hair.
Use your eyes, does the skin look green? blue? and bit purply? Skin tones are your colour and brightness barometer. Nobody cares about the jeans, or the jacket, or the grass. We'll look straight at the face and go 'that looks weird'.
Keep it real, don't go balls out and over saturating things like the examples on here.