Родился 28 сентября 1910 в селе Малый Перелаз, ныне Ершовского района, Саратовской области. По национальности русский. В 1931 году окончил Владикавказскую пехотную школу, до 1935 года служил в Красной Армии на офицерских должностях, после чего уволен в запас.
С началом Великой Отечественной войны снова призван в Красную Армию. С июля 1941 по март 1944 года сражался на Западном, Степном, 1-м и 2-м Украинских фронтах. Участвовал в обороне Москвы, Курской битве. Четырежды ранен, дважды контужен.
В июле 1943 года в ходе Курской битвы, 136-й гвардейский стрелковый полк под командованием М. А. Шкунова преградил под Прохоровкой путь немецким танкам и, впоследствии принял участие в общем контрнаступлении 5-й гвардейской армии, в результате которого враг был отброшен на исходные рубежи. За десять дней боёв полк под командованием М. А. Шкунова уничтожил более 3 тысяч немецких солдат и офицеров, 11 танков, освободил 20 населённых пунктов.
В сентябре 1943 года в должности командира 136-го гвардейского стрелкового полка 42-й гвардейской стрелковой дивизии (позднее получившей наименование Прилукской Краснознамённой) принимал участие в боях за Днепр. Командование 40-й армии поставило задачу гвардейскому полку Шкунова совершить обходный манёвр и внезапной атакой с тыла овладеть городом Прилуки — сильным укреплённым объектом, преграждавшим путь к Днепру.
Полк Шкунова выполнил эту задачу — разбив гитлеровцев у хутора Кудвабровский, красноармейцы ночью прошли 20 километров по вражеским тылам и при поддержке группы черниговских партизан рано утром 20 сентября 1943 года вошли в Прилуки с юго-запада и захватили город после упорного боя.
При преследовании отступающих немцев полк Шкунова одним из первых в 40-й армии форсировал Днепр южнее Киева и захватил плацдарм в районе сел Гребенки и Юшки. Семнадцать дней продолжались бои за удержание стратегически важного плацдарма, в ходе которых были отбиты все контратаки противника, что дало возможность для дальнейшего наступления наших войск. Командир полка М. А. Шкунов личным примером, неутомимой энергией, точными и уверенными приказами вдохновлял солдат и офицеров полка на ратные подвиги.
29 октября 1943 года М. А. Шкунову за «отвагу, мужество и умелое руководство полком при форсировании Днепра, захвате и удержании плацдарма на западном берегу реки» присвоено звание Героя Советского Союза с вручением Ордена Ленина и медали «Золотая звезда».
Отличившись в этих боях, М. А. Шкунов был представлен к повышению в звании и вскоре был произведён в полковники и назначен заместителем командира 42-й дивизии.
17 марта 1944 года в ожесточённом бою под Винницей он был тяжело ранен. Лишённый способности двигаться, Шкунов продолжал руководить войсками до выполнения боевой задачи.
В течение года полковник Шкунов находился в госпитале. В связи с инвалидностью в апреле 1945 года был уволен в отставку.
После войны окончил высшую партийную школу при ЦК КПСС, работал в Краснодарском горкоме КПСС, избирался членом Краснодарского горкома КПСС и депутатом краевого Совета депутатов трудящихся.
Умер 24 июня 1969 года. Похоронен на Славянском кладбище города Краснодара.