i think it is because of magnezones stats.
a magnezone has a Def of 115, Sp Def of 90 and a 70 hp which is a little nice,
a substitute creates a copy of pokemon with 1 hp more than the sacrificed hp.
it can take some hits and even if the foe succeeds to do more damage than that substitute,it will still not damage magnezone.
maybe,a substitute can take 2-3 super effective hits from both fire and fighting types so it will give you one free turn to attack with a powerful move,stat raise or some support(magnet rise) without getting fainted.
with its typing,most attacks rather than fire,fighting and ground is not very effective so this means if the foe is not a fire,fighting or ground type,substitute will last long enough to ko those opponents.
also it is used for checking foes moveset.
hope this helps