Zubat may be a bit of an annoyance, but their being common in caves and other dark places mirrors many small species of bats in reality. Zubat and its evolutions are largely based on vampire bats, and the myths surrounding them. The three species of these blood-drinking (they don't suck, they create a gash in the victim's skin and lick the blood out) bats are common throughout their range, which extends from southern Mexico through much of South America. Regardless of species, a single cave can be home to thousands upon thousands of bats, which can be seeing flying out in swarms at dusk. If you were to venture into a cave, you'd be much more likely to see bats sleeping, or rocks lying around (Geodude) than you would a moon fairy.
The general trend with Pokemon is that those based on endangered animals and mythical creatures are more rare than those based on common animals. Of course, many of these less common Pokemon are worth the patience required to obtain them. Personally though, I tend to use Repels while in caves unless I'm looking to catch a certain Pokemon or I'm level grinding.