They give so little XP because XP is based on the level of the pet you are battleing and the amount of pets you're battleing.
So for the Beasts of Fable you are fighting a level 25 pet but only one and not 3 like normal level 25 wild pets. So because of that you are only getting about 1/3 of the XP of a normal level 25 wild pet battle. I believe Poofah has a post around here that has all the exact math if you would like to see it.
"Even when you are winning soundly, you must always give your opponent a way to retreat with honor. If you don't, then he has no reason to surrender. He will fight until the bitter end, and you will pay a larger price for victory."