Как объяснить Safari что такое высота в vh?
Только с помощью полифиллов типа Viewport Units Buggyfill, vminpoly и аналогичных.
То бишь эмуляция с помощью JS того, что не поддерживается в текущей версии браузера. Можно использовать и более общие полифиллы, покрывающие не только единицы измерения.
Эту единицу Сафари не поддерживает Попробуйте использовать другие единцы, которые Сафари поддерживает, например vw, которое по сути почти одно и то-же, что и vh, правда не знаю поддерживает-ли его Safari.
Чтобы облегчить перевод всех единиц в вашем коде, попробуйте использовать SCSS, SASS и прочие.
Заставить чем-либо распознавать врятли получится.