Go from

to

using GIMP 2. Should be translatable.
1. Duplicate the base. Set it to Overlay 100%. (This makes the colors more like what they're supposed to be.)
2. Duplicate the base again. Set this to Value at 100%. (This tones down the colors a little but still leaves them looking more natural.)
3. Make a new layer. Fill with b1a5a5 (gray). Set to Overlay 100%. (This lightens the image a little.)
4. Duplicate that layer. (This lightens it a little more.)
5. Make new layer. Fill with ffffff (white). Set it to Overlay 100%. This really lightens up the image and makes the colors more vibrant.
6. At this point, the image looks a little washed out due to the white layer. Make a new layer. Fill it with 19abbc (teal). Set to Overlay 80%. (This adds a teal tint to the icon, making it look less washed out, and lowering the opacity makes the color not too overwhelming. This also works well with the white layer below it.)
And you're done!
Note: For black and white images (such as this:

) it may work best to leave out the second copy of the base (skip step 2) and the white layer (skip step 5). Leaving out the white layer keeps the image from being too light. The last layer (step 6) is at 100% opacity instead of 80%.
Other examples using this technique (some with slight modifications):

This is my first tutorial. Let me know if it helps you or if it's confusing.
I'd like to see your results too, if you feel like sharing.