Pet Battle Stones are pretty rare, and there are a few ways you can acquire them.
1. Wild pet battles
. The higher the level of the wild pets, the higher the drop chance. The pet that you see, the first pet is the type of stone that might be dropped. So if you battle a level 25 wild Leopard Frog (an aquatic), you have a chance to obtain a Flawless Aquatic Battle-Stone
Very rarely, there is a chance that a BOE stone usable on ANY pet may drop: Flawless Battle-Stone
2. Daily Trainer Quest Reward Bag
. Trainers that you can battle daily, the reward Sack of Pet Supplies
has a chance to contain random family stones as well as the general stones.
The spirit tamer daily reward, Pandaren Spirit Pet Supplies
, WILL NOT contain stones but has a chance to drop a pet instead. Same thing with the Darkmoon Pet Supplies
Just to be thorough, you can purchase Polished Battle-Stone
from the justice point vendor in Townlong Steppes, BUT they only upgrade your pet to uncommon/green, and cost 1000 justice points. It is very much NOT WORTH IT.
Lastly, you may wish to use your battle stone. To do this, summon the pet you want to upgrade. Target the pet, and use the stone. The type of the stone and the type of the pet must match, but otherwise, it's as simple as that!
Hope this helps! Oh, and the drop rates are VERY low, so it may be awhile before you see another stone.