Т.е. все это размазывается по разным файлам, классам.
Если данная концепция не устраивает нет смысла использовать Ларавел.
Самое сложное, это то, что при любом изменении набора полей все это постоянно приходится править в разных местах.
В IDE должна быть навигация по файлам, когда пишешь часть пути и тебе открывается список. Чтобы это работало наименования должны быть понятными и простыми.
если для каждой модели это делать вручную, то это будет занимать кучу времени
Кучу времени занимает поддержка велосипедов. В Ларавел новое поле добавляется за 5 минут. Миграция на добавление поля, добавить валидацию в реквест файл. Добавить инпут на фронт. Всё. Какой свой велосипед спасет от данных действий? Никакой. Везде нужно писать валидацию, добавлять поле в бд и на фронт.
и приводить к постоянным ошибкам
Чтобы не было ошибок нужно писать тесты. Т.е. перед добавлением поля пишешь всесторонний тест включающий валидацию и расслабляешься т.к. он приведет тебя к результату почти без необходимости думать. Плюс будет проверять в дальнейшем.
А какой правильный путь стоит использовать в Laravel?
Правильный путь указан самим Ларавел. См доки. Нужно использовать Ларавел и не писать велосипеды или писать велосипеды, а Ларавел оставить в покое)