Чем заменить JSF(primefaces)
Просто не используйте JSF, JSP и прочие технологии рендеринга на стороне сервера. Это бесполезная трата времени.

Сейчас нет никаких проблем с реализацией всего, что нужно, на стороне клиента средствами одного из JS-фреймворков, таких как AngularJS например (см. single page web applications). В этом случае Java-backend превращается в RESTful-сервис.

Набор доступных компонентов в JavaScript заведомо богаче, а время на разработку экономится очень существенно.
Посмотрите wicket. Для внутренних проектов (а я подозреваю, что именно на таких вы и использовали JSF) подходит очень хорошо.