My suggestion is to have the form give buffs to physical scores, instead of replacement ones.
So a combat form might get:
+4 AC
+4 Str
+2 Dex
+2 Con
And a Scouting form might get
+2 AC
+4 Dex
+30 movement speed
+flight or swim as appropriate to the form.
And a "travel" form might get:
+2 AC
+2 Str
+4 Con
+10 movement
I would still limit large and tiny size by level. I would fluff these up with some other fitting bonuses and attacks and stuff. Maybe add some varieties based on if someone wants their travel form to be a Yak instead of a Horse or a Camel. Add in some scaling bonuses based on level.
I too dislike raiding the MM for animal stats, and I don't find the animal stats to be very nice anyway.
At least one playtest version of the druid had a fixed list of available forms, with stat blocks that were pretty reasonable...So I've had a problem with Wildshape ever since 3.5. My issues with it are as follows:
1) I don't like players (myself included) having to flip through the Monster Manual to figure out your stats and determine if its the best option. In addition, technically you need to have seen the animal before. I like this limit, but it also seems artificial.
2) It is very hard to balance or standardize beasts against one another, even of the same CR. Some are are able to do massive damage with poison or have other abilities (multiattack for the Giant Badger, which even a non-Moon Druid could use at level 2) that make them clear favorites.
3) Keeping track of your potential forms is a headache in itself.
Originally I tried to use a point system for various beast traits, to parallel a kind of spell variant for wildshape. But that seemed too unwieldy and unintuitive. But as I've been working on a couple or archetypes with companion features, I decided it might be a better way to implement what I was envisioning.

(Dungeons & Dragons)
Rulebook featuring "high magic" options, including a host of new spells.