Метод save переопределять - это самый край, last resort и в целом, плохая практика.
Прокси модели обычно используют тогда, когда расширяют существующую модель - добавляют методы, проперти или меняют менеджера, но не затрагивают атрибутов.
Свою модель прописать сложнее всего, но это самый гибкий и контролируемый вариант. И это хорошо, уметь написать свою модель юзера, в зависимости от поставленной задачи.