Fixing photos with bad lighting
I tried this in GIMP and it seems to work okay:
Open up the photo and duplicate the layer containing it.
Invert the duplicated layer. (The shortcut is Control/Command+I in Photoshop and is likely the same in other image editors.)
Set the duplicated layer’s blending mode to Overlay.
Optional: Reduce the opacity of the duplicated layer if the effects are too much.
Optional: Merge the two layers and adjust the levels or curves to suit your taste. (If you’re in Photoshop, you can just make a new adjustment layer to do this.)
An alternative method I found in the comments:
1. duplicate the layer
2. desaturated it
3. invert the colors
4. add a gaussian blur, say about 10 pixels
5. make the layer overlay
optional mentioned in the article also applies.