Кажется, имеет смысл иметь простейшую модель для аутентификации, а затем все остальные связанные данные в профиле.
Как правило, я бы использовал класс UserProfile по причинам, о которых говорит Игнасио, но также потому, что после некоторой нормализации я обычно обнаруживаю, что данные не будут принадлежать таблице User.