Очень неудобная и немного не понятная схема :) Софтины как-то сильно связаны, нужно ли разделять процессы их разработки?
Чтобы ничего не отваливалось при изменении - пишите тесты! :)
А миграции однозначно помогут. Инкрементальная разработка - все дела :)
Если изменения равноправно и раздельно вносят обе стороны - централизируйте их (может быть даже вынесите миграции в отдельный субрепозиторий). Сделайте, чтобы для мерджа пулл-реквеста, который изменяет модели, было бы необходимо согласие обеих сторон и успешное прохождение каких-нибудь тестов на совместимость моделей.
Или не выделяйте миграции как отдельную сущность, но сместите ответственность в сторону одного проекта и тесты, тесты, тесты..