Как разрабатывать нетиповую архитектуру?
По-моему таких материалов пока нет и даже не предвидится. Подобный опыт тяжело формализируется. Вообще, почти нигде не учат «как решать задачи» :-)
Из непрограммистского, но инженерного могу посоветовать ознакомиться с ТРИЗ (Теория решения изобретательских задач). Большинство подходов, описанных в ней, общеупотребительные.
Также можно почитать Феномен науки. Кибернетический подход к эволюции.
Я считаю, что при проектировании не типовых составляющих проекта надо обращать внимание на предметную область. Как вы писали в вопросе при типовых составляющих информацию о предметной области доступна и при некоторых случаях доступна реализация предметной области которую можно подсмотреть. А когда предметная область еще не изучена то лучшим советом будет изучение предметной области и обсуждение с заказчиком того, какое представление будут иметь фрагменты предметной области.
Проработка абстракций для сущностей, маппинг сущностей в не типовых случаях исходят из предметной области, а уж подводные камни и будущий рефакторинг чаще всего исходит качества проработки и понимания нетривиальной предметной области.
В качестве литературы тут думаю подойдет любая литература про разработку через предметную область (DDD).