который будет принимать параметры из POST
это должно быть в контроллере, поскольку его задача - организация взаимодействия между моделью, представлением и пользователем.
проверять их на ошибки, искать есть ли такой пользователь в базе данных и только после проверки добавлять нового пользователя в базу?
а это должно быть в моделе.
Т.е. контроллер принимает запрос (если нужно что-то с ним делает). Далее загружает данные из запроса в модель и уже в ней происходит валидация данных и сохранение, или возврат информации в контроллер о возникновении ошибок