The optimal strategy for battle stones is use them on pets that can't be rare elsewhere, and use them on pets that have unique sets of abilities. If you get a beast stone, don't stone your Bombay Cat first because there are lot of cats that have the same set of abilities, and a good number of them are available as rare. Instead, use that beast stone on the Feline Familiar, because nothing else has the same set of moves as he does. Stone things like the endless raptors and cats near the end, when you're finishing up.
If you want a list of uncommon only without being in game, I know wowhead has lists in the comments section for each specific family stone of what pets in that family can only be found as uncommon. People also have listed which pets are the recommended first to stone (like the Feline Familiar I name above) for each of the families.
All that said, stone the pets you want to use. I stoned my Infinite Whelpling because I was using him for everything and it made things easier once he was rare. My very first stone was on my Mulgore Hatchling because he's one of my favorite pets. Is he the best critter out there? Of course not. Are there better things to use my critter stones on? Probably. Do I care? No.
I've used my battle stones on more wild pets than is probably wise, because it means I'll just need more to finish off the pets that can't be rare without a stone. I stoned my Minfernal and Scourged Whelpling, but I also stoned things like the Giraffe Calf and Sporeling Sprout. There are some pets that I just didn't want to constantly farm.