I think the WoW hunter pet gathering mechanic is pretty cool, and similar to what other people here have suggested (nevermind that its WoW, hear me out). There are multiple classes of pets (canine, feline, serpents, insects, birds, etc.) that each have their own attributes and skill trees. Its up to the player which type of pet you pick; you can tame any animal you want by soloing it in combat (so your ranger would have to do it alone). Once he's tamed, he'll start a level or 2 below you, fight at your side and level up along with you. Over time he gains loyalty as well, which might unlock new abilities or behavior. Unique animals have special talents (or just look cool) so you might be tempted to switch your leveled, loyal pet with something new down the line. You can have a few pets in your stronghold (or wherever) so that you can also switch between them depending on whatever skills you currently need.
I advocate this system because it allows for your pet to be pretty unique, you can choose any animal in the game you want.