Cleaning up JPEG artifacts with GIMP
Simple recipe to clean and touch up JPEG images using GIMP:
Use the Selective Gaussian Blur filter with only a small delta (~10 or so) but a large blur radius (2-3 pixel or so) to carefully flatten the most pronounced compression noise.
Now use Selective Gaussian Blur again, with a high delta (~30 or so) but a small blur radius (0.5 pixel or so) to to quiet the general noise a little.
Unfortunately, however careful you tried to be, the image will now look much flatter and less crisp. To get some of its brilliance back, use Unsharp Mask with a large radius (~5 pixel) but a very small amount (<0.5) to give the edges in the image a little more impact without amplifying the artifacts right back to visibility.
Be careful with images with high detail – the blur filter will inevitably wash some of it away. You may want to Select All and then unselect delicate areas of the image to spare them from one or more of the steps mentioned.