Вести разработку частями, (хоть спринтами). На каждую часть оформляем ТЗ и акт приёмки. В договоре написать, что Факт подписания акта приёмки снимает всю ответственность. Если есть разногласия по одной текущей части, пробуем урегулировать если нет разбегаемся.
Заказчик VS Разработчик или что делать, когда спор дошел до суда