0) Оставить одну модель Users
1) Не трогать
2) Не трогать
3) Нет
Используй широко распространенные пакеты и не надо ничего придумывать.
Например этот
Добавляешь роли guest, user, admin а в пермиссион добавляешь разрешение owner если надо глобально или product_owner если например надо отдавать только свои продукты для роли. Далее добавляешь global scope с проверкой если есть owner то к запросу добавляешь чтобы только свои показывало.