To answer the OP's question, I prefer finding stones, for simple reasons.
Stones will take your pet to rare without any if or buts. There's no "shit I critted and killed him so I cant capture him now", or "my WoW crashed in the middle of the pet battle and I lost the rare", or "forgot to dismiss my pet so I got taken out of battle and someone jumped on the pet while I was killing the mob on me", or "finally found a rare! but its not the breed I want.. so I'll have to release him and try again", or "finally a rare of that! i can ditch my 25 uncommon and relevel this one from scratch"
Also, some pets are very hard to find rare as is, some other are impossible to find rare as is, so the stones are the only way to get rare version of these pets.
The stone is safer, quicker, easier to use, and works on all pets. So I have to go with the battle stones
They're also much rarer than finding blue pets in the wild, and their rarity makes them even more special