Родился 20 января 1915 года город Тайга (ныне — Кемеровская область).
Майор Советской Армии, участник Великой Отечественной войны, Герой Советского Союза.
В 1940 году он окончил Новосибирскую военную авиационную школу пилотов.
С октября 1942 года — на фронтах Великой Отечественной войны. Три раза был сбит, но успевал покидать самолёты до их падения, два раза получал тяжёлые ранения. 15 июня 1944 года, будучи сбитым, выпрыгнул с парашютом, но при приземлении сломал ногу и был взят в плен румынскими войсками. 29 августа того же года сумел бежать из лагеря и в сентябре того же года вернулся в свой полк.
К апрелю 1945 года гвардии капитан Геннадий Новиков командовал эскадрильей 82-го гвардейского бомбардировочного авиаполка 1-й гвардейской бомбардировочной авиадивизии 6-го гвардейского бомбардировочного авиакорпуса 2-й воздушной армии 1-го Украинского фронта. К тому времени он совершил 97 боевых вылетов, принял участие в 17 воздушных боях, лично сбив 3 вражеских самолёта.
Указом Президиума Верховного Совета СССР от 27 июня 1945 года за «образцовое выполнение боевых заданий командования на фронте борьбы с германским фашизмом и проявленные при этом отвагу и геройство» гвардии капитан Геннадий Новиков был удостоен высокого звания Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
В 1946 году в звании майора Новиков был уволен в запас. Проживал и работал сначала на родине, затем в Барнауле. В 1951 году окончил Томский электромеханический институт железнодорожного транспорта. Скончался 6 января 1993 года.
Почётный железнодорожник. Был также награждён орденом Александра Невского, двумя орденами Отечественной войны 1-й степени, орденом Красной Звезды и рядом медалей.
В честь Новикова назван электровоз локомотивного депо станции Барнаул.