А в чем, собственно, минус репозитория как ответственного сборщика (не важно read/write)? С делегированием именно ему (репозитарию) схемы мапинга (опять же, что из одного, что из нескольких хранилищ через storages). Без сомнения, кода может быть больше (но сделать 2 read/write, а-ля cqrs, как вариант)
А уже и сервисы и агрегаты все-же через репозиторий гонять...