That's news to me that people observed these percentages. Do you mean personal 'man I can't find a female starter for ages' stories, or actual trials gaining statistics of Pokemon caught and their gender and showing that they don't hold by the law of big numbers or standard statistical probability or somesuch? I know people have tried that with other things (e.g. hidden abilities for Pokemon in hordes). But detecting a difference between e.g. 12.1 and 12.5% is not that large, so I am surprised people would have noticed it with certainty without looking at the code like SciresM has.
Why yes I am referring to anecdotal evidence. It's evidence, just not the kind people will take at face value.
Few people if any have time to run statistical analysis on the games they're playing. That and you'd have to extract pokemon generation code and run it some 1,000 or 10,000 times to confirm it. (Lets assume a typical rom hacker doesn't decompile code and thus wouldn't notice the code error.)
There's not any easy way statistics can prove such a small percentage either, it will always be a matter of the error ratio being too large to detect the difference.
Hence why I said it was so hard to prove. From what we know about the PRNG in Pokemon, we know a number of values such as Trainer ID and Trainer Secret ID, as well as the Pokemon Secret Value ,Shiny Values, and Individual Values. These all in some way fall into the equations sometimes.
I can say anecdotally, that sometimes you just get an entire Save File Configuration that simply has what I consider to be a very stingy set of random seeding values; even across multiple dates, hours and times. I think the clock plays a role in number generation too, and starting on a "bad time" is also possible.
Additionally the most common PRNG, the Mersenne Twister has a few weaknesses, such as beginning it's generation with quite a few lower ranged numbers. Get a bad enough seed value and you may not get larger, "Lucky" numbers without spending lots of time abusing the RNG. Worse is how the game will reseed the RNG with saved ids, which can reset the spiral. This does make the game MORE random yes, but you can end up hugging the metaphorical floor with your rolls.