For example, in GSC, Smeargle's shiny form had a green tail, just like a normal one does now. Its normal form had a red tail, like the shiny form does today.
Any ideas why Gamefreak did that?
As far as I know, there is no exact answer to this but, there are some possible reasons.
It's an error (1): When GF made Smeargle's color pallet for G/S/C, they could've accidentally switched the shiny and normal form of Smeargle, but changed it back to what was supposed to be the original Smeargle in R/S
It's an error (2): GF could have accidently switched the normal and shiny forms in R/S. Because R/S had better graphics than G/S/C they may have kept it that way because they thought it wouldn't be noticed that much.
GF didn't like the colorization of Smeargle: GF could've changed it because they didn't like the colorization of Smeargle.
Bad graphics: R/S has MUCH better graphics than G/S/C, it may just be hard to tell what color Smeargle is in it's G/S/C sprites.
Remember, these are just some reasons why GF might have changed it.
There are a few Pokemon that have also had their sprites changed:
I Gold/Silver Spinarak was purple but it was changed in Crystal (When it was shiny it was pinkish)
Croconaw & Feraligatr goes from to teal to a light blue.
Chikorita's body goes from yellow to green
Cleffa & Igglybuff goes from really pink to more skin colored.
These are not all of the Pokemon that have changed but they are a few of them!
Hope I helped!