Максим Шалунов родился 31 января 1993 в городе Челябинск. Является воспитанником челябинского «Трактора». Карьера Максима началась в 2009 году в Челябинском клубе Молодежной хоккейной лиги «Белые Медведи». В своем дебютном сезоне Шалунову удалось сыграть на площадке всего 7 матчей, где ему удалось заработать 12 очков.
Дебют в Континентальной хоккейной лиге Шалунова состоялся 5 октября 2010 года в матче с «Югрой». На драфте КХЛ его выбрали в 1 раунде под общим 15 номером родным «Трактором». В дальнейшем его показатели стали только улучшаться.
В составе сборной России Максим Шалунов принимал участие в юниорском Чемпионате Мира 2010 года, на котором россияне сумели занять только 4 место, а сам Максим набрал 4 очка в 7 проведенных матчах. Первым очком в КХЛ отметился уже в самом начале 2011 года, сделав результативную передачу. На следующем Первенстве Мира сборная стала бронзовым призером, а Шалунов отметился 3 результативными баллами в 6 матчах. В составе сборной России принимал участие в молодежном Чемпионате Мира, где команда завоевала бронзовые медали.
В 2011 году на драфте НХЛ Максим был выбран в 4 раунде под общим 109 номером клубом «Чикаго Блэкхокс». В сезоне 2013/2014, выступал за фарм-клуб «Чикаго Блэкхокс», Рокфорд Айсхогс (АХЛ). В 2013 принял участие в предсезонной тренировке «Чикаго Блэкхокс», но не получил места в составе, после чего был отправлен в фарм-клуб АХЛ - Рокфорд Айсхогс. В 2014 году «Трактор» обменял права на Шалунова в «Адмирал», а уже владивостокский клуб спустя месяц отправил игрока в «Сибирь». Обладатель бронзовой медали чемпионата Континентальной Хоккейной лиги сезона 2014/2015 года.
Игроком Московского ЦСКА в Континентальной хоккейной лиге стал в 2017 году.
Рост: 193 сантиметров; вес: 96 килограммов.