First of all can you detect skin from the armory? It seems you can detect certain things that those looking at the armory can't see such as gender and quality of certain pets learned from items.
There are 2 main reasons people choose to have duplicate pets: To have different breeds and to have different skins. Both of which I believe show a certain amount of collecting effort. Have you thought about giving extra credit for having different (or better) breeds or different skins of the same pet?
Here is an explination of what I mean
After computing the score as you do you then look a breed. There are basically 4 levels of breed (15,17,18, 20)
If you have 3 pets of the same kind you look at the breed of your "best pet", the one you count for other calculataions. Lets say you get
0 for 15
1 for 17
2 for 18
3 for 20
Then you look at the duplicates and you get 1 point for each that is a different breed for the best one. Maybe an aditional point for having both genders represented. So you could get a maximum of 6 points per pet for breeds. Of course this would be limited by the number of available breeds for a particular pet, and should probably always be zero for any pet that only has one breed.
For skin (if possible) you could get 1 bonus point for each different skin. So you would get 2 points if you have 3 different skins. (I personally value skin over breed so I would probably give 2 or 3 points for each skin )
I know people go to a lot of effort to get different breeds and skins and it would be nice if that were reflected in their pet score. Just a suggestion though.