Можно ли без лишнего изврата выводить красивую страницу при ошибке PHP?
можно, все зависит от того как настроены и пых и вебсервер.
Если у вас единая точка входа, то проще там в try {} catch {} обернуть, и используемым шаблонизатором отрендерить, попутно сохранив информацию об исключении и каких-нибудь дополнительных данных.
На уровне nginx можно решить путем error_page 500 /500.html  на уровне server