А как так получилось, что начальник программиста => дизайнер?
У меня диссонанс бы произошёл, хотя я верю что в вашем случае всё неплохо.
По части ответов очень понравился первый комментарий, но всё же отпишу отдельным.
Тесты, тесты, тесты. Каким бы страшным, непонятным и вообще неадекватным не был код, они помогут двигать проект вперёд.
Если вы видите что правка малейшего символа приводит к крашам/багам, указывайте на это, давая точную оценку сколько у вас уйдёт времени на приведение кода в порядок.
-Взять и сделать заново - непозволительная роскошь. Любой специалист может выкосить несколько блоков кода, переписать на более адекватный вариант и обернуть тестами.
-Если у вас ещё нет агрегатора ошибок/анализатора запросов, рекомендую прикрутить. Так будет проще искать узкие места и вероятно выпилив их - можно будет отказаться от нескольких серверов (правда мне такого не удавалось, ибо время человека дороже чем аренда сервера)
-В целом начинайте писать новые куски кода в адекватной манере, следите за гибкостью и надёжностью кода, используйте лучшие практики и аккуратно рефакторите те места, куда вам пришлось влезть при выполнении задачи. Пусть это будет иногда больно, иногда тошнотворно, но результат того стоит. Или нет. Решать вам :)