My rack states are broken into two groups - at the top I have “generic” rack state names, like “Warm strings pad” or whatever, and these I give a single program number, like 1 or 14 or whatever. Then after all my generic patches I have a “separator” rack state, named “=========”. Then after that I have song-specific rack states, named just after the song, all with bank 1, so for example 1.1 or 1.14 etc. This keeps them nicely separated.
For some racks where I have lots of different categories (e.g. my OP-X Pro-II rack has categories for leads, pads, polysynth, arpeggios, basses etc), I just arrange them into groups with named separator rack states, e.g. “===PADS===”.
The way I work is when I’m looking for a new sound, typically I look through the generic ones (unless I know there’s a song-specific one which is exactly what I need). Once I’ve decided on a sound, I’ll then copy it into a new rack state, named after the song, even if I haven’t modified it, and put it in that part of the rack state list. Then I can make changes to it, knowing it’s only ever used in that one song - I’m very disciplined about that. It probably means I have a lot of rack states that are identical, or almost identical…but rack states are cheap! I have some racks with 150+ states in; as long as they’re organised (e.g. with separator states), it’s no big deal.
The only exception to making a copy of a rack state for a song is for racks where I never make sound changes (or can’t). For example, I have a few sound effects sample racks that I never tweak.
Here’s a screenshot of a new Strings rack I’ve been setting up over the last couple of days, to give you an idea of the layout.
Neil