Куда вынести логику работы с данными принадлежащими разным моделям?
Шаблон фасад (англ. Facade) — структурный шаблон проектирования, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Single responsibility
Вы используете active record для того что бы проводить валидацию ваших бизнес объектов... уже три задачи для одного компонента (если упрощать конечно, все чуть сложнее). Для валидации в Laravel есть клевая тема - FormRequest. Ну и в целом если вас сильно парит SOLID то Laravel несколько не тот фреймворк на котором стоит делать дела, хоть и можно конечно, но все становится чуть сложнее.