I had an idea, I don't think it worked out. I post this so that others may benefit from my failure.
The idea:
1) Start with a spread of hues.
2) Use a non-linear spread of values, weighted towards the lighter colors.
3) Adjust the set of values of each hue based on how light or dark a saturated color of that hue is (yellows are lighter than blues, so bump up all the yellow values).
4) For each hue, build a small set of colors, with each value step and a few steps in saturation.
5) Organize as a web of ramps, shifting hues each step.
The result is a bunch of 5 and 6 color ramps, which are sort of unified. But ...
Doesn't support ramps of different sizes that well.
The blue and purple hues aren't working very well, probably one too many orange hues.
The darkest colors are suitable for outlines, but not much else.
Too many light, desaturated colors, I think. Not enough of the strong mid-tones. Rescaling the saturation means possibly breaking some of the ramps. Add another level of saturation? Don't really know what to do here.
Perhaps a less even spread of hues across different saturation? By which I mean, the desaturated colors for several different hues are very close to each other. Instead of spokes on a wheel, perhaps it should spread from a few desaturated hues, to a greater number of saturated ones?
I was hoping to represent moderately saturated hues, earth tones, skin tones, and shadow colors. This was not successful. Hopefully others can benefit from my experiment.
Tourist