There are many different methods of approaching smoothing skin tones, and one of the most effective I have come across by far is the use of wavelet scales.  In GIMP, the plugin Wavelet Decompose allows you to quickly and easily generate the scales to work on.

 Image courtesy of Kelly Ealy   Image courtesy of Kelly Ealy

The basic premise is a frequency separation of features in your image.  You can isolate features in your image based on their relative sizes at different frequencies.  What this means is that you can separate out all the details in your image onto different layers based on feature size.  Large objects will show prominently in one scale, while smaller details will only exist on a different scale (layer).

 Hoodie by Erik Olsson   Hoodie by Erik Olsson
 Martina by Erik Olsson  Martina by Erik Olsson

In this way you can now approach modifying some features in your image based on its size without worrying about muddying up other scale features.  You can smooth out the overall tones of the skin without affecting finer details like pores, or vice versa.  This allows for an amazing level of control over your edits, while isolating features you may want to keep (like pores).

A full walkthrough of how Wavelet Decompose can be used for skin retouching can be found here:

Getting Around in GIMP - Skin Retouching (Wavelet Decompose)

Let me know what you think!