Насчет темы неплатежей и сложностей по расчетам:
1. Работать по этапам и по полной предоплате.
2. Дифференцировать заказчиков. Если заказчик имеет хорошую историю взаимодействия, то можно идти ему навстречу в плане некой отсрочки платежа.
3. Для проблемных заказчиков не смягчать условия, а наоборот ужесточать. Либо он отвалится (что хорошо), либо станет работать по вашим правилам (что тоже хорошо)
4. Сразу разрешать возможные проблемые точки за счет детального ТЗ (меньше будет возможностей для спора и торгов со стороны заказчика).
5. Неясные сложные моменты (т.е. вы еще не знаете сколько это стоит и вообще сможете ли вы это реализовать) – закладывать сначала работы по исследованиям и созданию прототипа. А далее в следующем этапе уже реализация на основе полученной информации.