Так бывает чаще всего, так как заказчик дает обычно мало инфы. Нужно идти следующими путями:
1) Договор подписывать только после подробного техзадания.
2) Не демпинговать, рассчитывая на то, что обычно работы бывает больше, чем предполагалось.
3) Если уж совсем случился провал - приехать к заказчику и подробно изложить ситуацию. Адекватные люди поймут ситуацию, если нормально объяснить.