Иван Семёнович Мельников родился 4 сентября 1914 года в селе Балыклей (ныне — Инжавинский район Тамбовской области). После окончания семи классов школы работал сначала в колхозе, затем был секретарём сельсовета. В 1932 году он окончил педагогические курсы, после чего работал учителем. В 1935 году Мельников был призван на службу в Рабоче-крестьянскую Красную Армию. В 1938 году он окончил Рязанское пехотное училище, в 1939 году — Харьковское военное авиационное училище лётчиков. С июня 1941 года — на фронтах Великой Отечественной войны.
К январю 1945 года гвардии капитан Иван Мельников был старшим летнабом 98-го гвардейского отдельного разведывательного авиаполка Командования ВВС РККА. К тому времени он совершил 106 боевых вылетов на воздушную разведку и аэрофотосъёмку вражеских объектов и войск, в том числе в глубоком тылу противника, благодаря чему командование получило важные разведданные.