По степеням окисления: "крест-накрест", так сказать. Например:
, у кислорода -2, 2 идёт к водороду, у водорода -1, единица идёт к кислороду, НО единица не пишется.
Если одинаковые цифры в степенях окисления (как во втором примере MgSO₄), то они сокращаются. По правилу должно быть Mg₂(SO₄)₂, но "двойки" сокращаются и получается → MgSO₄
Ну как смог объяснил.