So as pretty much everyone on this forum is aware, right now Pokemon have a single alternate color palette that is applied when the Pokemon is shiny. In many cases, this alternate palette is a pretty drastic change, however in some cases...
... not so much.
Even as far as shinies that
do get a drastic recolor go, there are undoubtedly a lot of people who don't like the color palette of some of their favorite shinies and wish they got different alternate colors.
The idea I have is to change from using a single alternate palette for shinies to a randomly generated palette, with some checks in place to prevent that palette from being too similar to the base color, and possibly to prevent it from being too close to pure black/white.
The way we do this is to split each Pokemon's model in to regions and then apply a color mask to that region. This is derived from another game; Ark: Survival Evolved. Let's take a look at a creature from Ark.
This is a screenshot of a wild Anklyosaurus in Ark that I shamelessly stole from Google because I don't currently have the game installed on this PC. Not all wild Anklyosaurus in Ark will look exactly like this one; in fact, most of them will not. Creatures in Ark will rarely have exactly the same color palette, because Ark uses a system similar to the one I'm proposing to generate their color palettes.
First, the model of the creature (or Pokemon) in question will be divided into several regions. Let's use Ark's Anklyosaurus to visualize what this looks like; conveniently for me, the Ark: SE wiki already does this by mapping out the different color regions of each creature.
Here are some images that highlight the different color regions of an Anklyosaurus in red while the rest of the body is white.
This is essentially exactly what we'd do for Pokemon. Each Pokemon's model would be divided into different regions. Let's take Charizard as an example. Charizard's base body (the medium orange parts), undersides (the light orange parts), wing membranes, and possibly even flames could all be different color regions.
A greyscaled base texture would be made for each region. After that, we'd use color masks to tint that greyscaled texture to be a different color. For normal Pokemon, we'd use masks that replicate their original colors. However, for shiny Pokemon, we get to have a little more fun. For shiny Pokemon, we pick a random color mask to apply to each region, resulting in an almost infinite number of combinations.
Without any checks at all, this has the potential to result in color palettes that are nearly or exactly the same as the base palette, which I think most people would agree is undesirable. That's one of the problems this system aims to solve, after all. While the odds would be fairly low, and while no Pokemon would be guaranteed to have a shiny palette too close to its base color (unlike the aforementioned Articuno, among others, who always have underwhelming palettes), it should be fairly simple to prevent this from ever being a concern.
The way I personally would accomplish this is to use RGB values for the color masks. A random set of RGB values would be generated for each color. These values would then be checked against the default values for that region on that Pokemon (I.E. the color it would be on a non-shiny Pokemon). If the total deviance between the two set of values is too small, the color would be rerolled, wash, rinse, and repeat until a suitable color is rolled.
This should result in a randomized shiny palette that is always drastically different than the default palette. On a case-to-case basis, some regions could be exempt from having their colors randomized (Arceus's mother alien-esque ring, for example, is the same color whether it's shiny or not, so that region could always be the same color with the new system as well). We may also wish to exclude colors that are too close to pure white or pure black, as that could potentially result in texturing being washed out, but this may not be as much of a concern as in a game like Ark as honestly Pokemon textures barely have any texturing to them to begin with. Most Pokemon are textured with flat colors with a bit of shading.
This system would result in an incredibly huge number of possible shiny palettes for each Pokemon. This would bring unique value to each shiny, something that shiny Pokemon in general have lost over the generations. If you manage to get a shiny with a particularly desirable color palette, you have a lot more bargaining power to leverage when trying to trade that shiny than if it was exactly the same as every other shiny of its species. It also eliminates "bad" shinies as a concept. Pokemon whose shiny palettes are currently too close to their normal palettes, or Pokemon with shiny palettes that are generally considered unappealing, would have the same chance of generating an interesting or desirable color palette as any other Pokemon.
There are a few downsides that I can see. For one thing, I think ironically many shiny hunters would be against this system. As it currently stands, once you obtain a shiny Pokemon of a certain species, you're pretty much done with that species unless you wish to obtain multiple for trading or vanity. All shiny Pokemon of the same species have essentially the same value, disregarding IVs and natures and other competitive aspects (which you now have basically complete control over anyways with bottle caps, mints, and ability capsules/patches). With the new system, there's a certain completionist itch that might not get scratched when you obtain a shiny as a shiny hunter. You could, after all, always get another shiny with a different palette.
Another downside is that there are a lot of people who like certain shiny palettes the way they are, and with the new system you would be far less likely to get that exact palette. There are a few ways we can work around this. One possibility is that, when transferring a Pokemon from an older game to the game this hypothetical change is introduced in, you could be given the option to either keep the Pokemon's palette the same as its original shiny palette, or give it a new, randomized palette like a shiny obtained in that game would have. This would let you keep your cherished shinies that you've spent so much time hunting or breeding in previous games the same without risking rolling the dice and getting a shiny palette that you may not like.
Another possibility is again inspired by Ark. In Ark, one of the chief ways to get color palettes that don't naturally spawn is through breeding creatures, which has a random chance to induce a mutation that changes one of its regions' colors. In Pokemon I have a somewhat thematically similar idea; maybe when breeding shiny Pokemon, if a shiny offspring is produced, it will inherit one of the colors of its shiny parent(s). This would allow some degree of selective pressure over the color of a bred shiny Pokemon, albeit through a fairly long process that requires one to obtain parents with the desired colors and then breed a shiny offspring from said parents.
All in all I think there's some details that could definitely be ironed out, but I really like this idea on a conceptual level and would love to see something similar implemented in a future game.