When exploring scripts for GIMP, I found a very useful one for correcting the white balance on pictures. Many pocket cameras does not have option for WB preset. And when shooting under artificial light none of the camera's white balance settings may not work perfect. The room can be lit with numerous light bulbs that all have a little different color temperature and quite often they do not match with any of the WB settings on camera.
Now this WB script: "converts the colors of an image, so that the foreground color (chosen, e.g., with the color picker tool) is either transformed to gray, or to the background color." In other words, you just use color picker, choose a spot which should be white, and run the script. That spot don't have to be pure white on the picture. It is enough the spot is on object that is in shadows, but it still is normally a white object like a white paper, white table top or white wall.
On example picture you see the original WB on bottom, then this script used on middle, and GIMP's "auto white balance" on top. The auto white balance clearly exaggerates and ruins the picture. But the script does pretty good job.