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