Oh dear... After crunching a bunch of data someone has come up with the theory that there may be a bug in the system that assigns new wild (not hatched though) pokemon with IVs that's causing it to be influenced by the pokemon's pokedex number. If true (and things seem to indicate that it's likely) then it will be pretty much impossible to catch a wild pokemon with perfect IVs if it's pokedex number is lower than approximately Gyarados :s
https://www.reddit.com/r/TheSilphRoad/comments/4v0puc/theory_potential_bug_with_ivs/
For those wonder that basically makes the list of pokemon not screwed over by this as follows:
* Gyarados
* Lapras
* Ditto
* Eevee and it's 3 evolutions
* Porygon
* Omanyte and Omastar
* Kabuto and Kabutops
* Aerodactyl
* Snorlax
* Legendary birds
* Dratini, Dragonair and Dragonite
* Mewtwo
soooo... not many ^.^;
It's possible that Magmar, Pinsir, Tauros and Magikarp might escape this too but less certain.
Note that so far this is only linked to the attack IVs specifically, but cruelly this means that the vast majority of Caterpie caught in the wild have 0 attack IVs (as if that line didn't have enough trouble
)
That said, pokemon hatched from eggs aren't affected by this and it's possible that lure/incense pokemon aren't either.