It goes like this: they can actually have any coloration, but gamefreak doesn't want to go through the hassle of programming a palette generator that produces results that look right or manually designing a shit ton of extra palettes, so that's why you only see one alternate palette of each pokemon in the main games.
My evidence so far: In super smash bros., each pokemon character can have many alternative palettes. In Pokemon Stadium, the pokemon in the minigames have new colorations as well. Kecleon's official shiny just has a blue band around its belly instead of a red band, even though we have seen in the anime and in the PMD spin-off series a purple-skinned kecleon with green lining rather than yellow lining. Finally, many of the shiny pokemon in GSC look different from their shiny palettes in later generations. This is all off the top of my head, and I bet I could find more evidence if I looked for it.
My first shiny pokemon was a ditto, which I caught in Crystal. Using a random color generator, I generated 16 colors, and then chose one which I would use to redesign my shiny ditto. Pic related is how I have decided to imagine my shiny ditto. I chose this color out of those which were available because it looks like the color of a brand new kneaded eraser, which ditto could resemble. Here is the random color generator if you'd like to do the same with a sprite of your first shiny pokemon: https://www.random.org/colors/hex
Feel free to post yours in this thread, as well as other speculation and counter-arguments on the topic.
>>27205543
Cool story bro, here you have a Nobel Prize for your work.
>>27205543
Well that's two minutes of my life I'm never getting back. Fuck you sir.
this pasta again?
Got blue color.
My first shiny was a Girafarig.