Иван Михайлович Макаренков родился 15 декабря 1918 года в селе Ольговка (ныне — Добринский район Липецкой области). После окончания начальной школы работал трактористом.
В 1939 году Макаренков был призван на службу в Рабоче-крестьянскую Красную Армию.
С июня 1941 года — на фронтах Великой Отечественной войны. В боях два раза был ранен.
К январю 1943 года старшина Иван Макаренков был механиком-водителем танка "Т-60" 549-го танкового батальона 61-й отдельной танковой бригады 67-й армии Ленинградского фронта. Отличился во время прорыва блокады Ленинграда.
8 августа 1941 года Макаренков в составе роты охраны 19-го стрелкового Выборгского Краснознамённого ордена Кутузова полка 90-й стрелковой дивизии Кингисеппского участка обороны оказывал упорное сопротивление немецким танковым частям.
12 января 1943 года Макаренков в составе роты лейтенанта Дмитрия Осаютюка переправился через Неву и по болотам приблизился к Синявинским высотам. Противник предпринял контратаку, но роте успешно удалось её отразить. При этом Макаренков и Осатюк гусеницами и пулемётным огнём уничтожили большое количество солдат и офицеров противника. 18 января 1943 года рота Осатюка успешно соединилась в частями Волховского фронта. 21 ягваря 1943 года Макаренков был тяжело ранен, но Осатюку удалось его доставить в укрытие. В результате ранения Макаренков остался без левой ноги.
Указом Президиума Верховного Совета СССР от 10 февраля 1943 года за "образцовое выполнение боевых заданий командования на фронте борьбы с немецкими захватчиками и проявленные при этом отвагу и геройство" старшина Иван Макаренков был удостоен высокого звания Героя Советского Союза.
В том же году Макаренков был демобилизован по ранению. Проживал и работал в Липецке.
Скончался 20 мая 2014 года, похоронен на Косыревском кладбище Липецка.