This is the best I could come up with:
/summonpet [stance:0/5] Winter's Little Helper
/summonpet [stance:1/5] Dun Morogh Cub
/summonpet [stance:2/5] Fishy
/summonpet [stance:3/5] Panther Cub
/summonpet [stance:4/5] Cheetah Cub
/summonpet [stance:5/5] Gilnean Raven
You'll still need to hit your shapeshift keybind separately, but after that you can hit this macro and it will recognize which form you're in and summon out the assigned pet.
The stance numbers are for Resto and Feral. 0 = Humanoid, 1 = Bear, 2 = Aquatic, 3 = Kitty, 4 = Travel, 5 = Flight.
If you're Moonkin, simply change the numbers to x/6, where 6 is Flight Form and 5 changes to Moonkin form. Add another row to include 6/6 and you should be all set.
It's not ideal and an all-in-one macro, but hope this helps.