You don't need to cast /petfollow after Freeze if your pet's always on passive, it won't trigger an attack, it would be better to just generally try to include your /petattack, /petfollow, /petmoveto into macros. Ofc, if your pet's already attacking your opponent, your macros might be useful, but I like to have everything done by myself, so I get to chose whether my pet's attacking, following etc.
My personal macros:
#showtooltip
/cast [nomod] Frostbolt
/petattack [mod:alt]
#showtooltip
/cast [nomod] Frost Nova
/petfollow [mod:alt]
#showtooltip
/cast [nomod] Fire Blast
/petmoveto [mod:alt]
#showtooltip
/cast [nomod] Polymorph
/cast [mod:alt] Freeze(Pet Ability)
First one is actually a lie, as I have macro'd my frostbolt to hit my pet either when I have myself or a friendly target targeted, but I'm too lazy to think of how I exactly wrote it (it's something along the lines of [help][@pet]). Ofc, this is just my personally preference (Frostbolt on '1', Nova on '2', Blast on '3' and Poly on '4' which is easy to use with ALT for me)
All of these can be used for any class with a pet (ofc with different abilites bound, like Arcane Shot for hunters or Shadowbolt for Warlocks) also, if you use the '?'-macroicon it will show the cooldown on Freeze (or your hunter pet's ability) if you press ALT.
If anyone got more questions, just send me a PM, I'll try to answer anything about mages I know