It's a pity that Photoshop doesn't let one work in HSL colour space, because pulling curves on saturation values would be a lot better than photoshop's default saturation slider, which blows out saturated colours at the drop of a hat. But I've written a little action that let's you do this:

With the top visible layer selected, this action will basically create a desaturated copy of the layer and compare with the original, taking the difference (using the Difference blend mode) and use a desaturated version of the result as a mapping of the amount of saturation in the image. An inverted and levelled version of this will then be used as the layer mask to an adjustment layer where you can adjust the saturation of the image. The default action produces an adjustment layer that adjusts the muted parts of the image the most and leaves the most saturated parts of the image untouched. This will be useful for punching up saturation without blowing things out--similar to pulling up the curve in an imaginary saturation channel. I'm sure people here will come up with more creative uses for it!