Давид Герасимчук родился 15 мая 1916 года в селе Великий Острожок (ныне — Хмельницкого района Винницкой области Украины) в крестьянской семье. Проживал в Тбилиси. Окончил семь классов средней школы, после чего работал в сапожной мастерской затяжчиком обуви. В 1936 году Герасимчук был призван на службу в Рабоче-крестьянскую Красную Армию. Проходил службу в отдельном эскадроне связи 17-й горно-кавалерийской дивизии Закавказского военного округа. В 1939 году окончил курсы усовершенствования командного состава, после чего командовал взводом конной разведки в 134-й и 214-й стрелковых дивизиях Харьковского военного округа. С июня 1941 года — на фронтах Великой Отечественной войны. Прошёл путь от командира взвода до командира полка. Участвовал в боях на Северо-Западном, Западном, Сталинградском, Брянском, Калининском, 1-м Прибалтийском, 3-м Белорусском фронтах. В 1942 году Герасимчук окончил ускоренный курс Военной академии имени Фрунзе. В боях три раза был ранен. Участвовал в боях в Псковской и Калининской областях в 1941 году, битве за Москву, Сталинградской и Курской битвах, Городокской, Белорусской, Восточно-Прусской, Кёнигсбергской операциях. К апрелю 1945 года гвардии подполковник Давид Герасимчук командовал 88-м гвардейским стрелковым полком 33-й гвардейской стрелковой дивизии 43-й армии 3-го Белорусского фронта. Отличился во время взятия Кёнигсберга.