I've seen that too on random wifi battles. Sometimes their nicknames show up, most of the time they don't. Sometimes they're in Japanese. I haven't figured out exactly what makes that happen, but my guess would have something to do with the pokémon being hacked. They don't have to have great stats to be hacked. In fact, if a pokémon's stats are out of range, they come up as a bad egg in the game.
This is exactly what it is. You see, in the unamable pokemon saving program, you can create an entirely new pokémon from scratch. You can flag it if its had its name changed or is still the species name, AFAIK. If you flag it as a never-changed name, but actually set the name to something else, then when you go online with it (assuming you set the region properly and don't go out of range on EV's) the name will be whatever nickname you gave it, instead of the species name.
It's why I saw a porygon-z with the name 'Glitch'.