Подход, который я в итоге выбрал, похож на тот, который вы предлагаете. В настоящее время я использую фасад для отображения между моей устаревшей моделью данных в QAbstractModel.
Сначала фасад был слишком сложным, но постепенно я вытаскиваю функциональность из модели фасада и помещаю ее в мою модель данных. И вот однажды я полностью уберу фасад, чтобы моя модель была моделью.
Наличие одной модели сделает мою голову менее болезненной.