Посылать на устройство не время окончания евента, а сколько ms осталось до его окончания. В таком случае погрешность будет только на время отправки-получения данных.
Попробуйте установить punto switcher, я с помощью его настроил переключение на cmd+shift. Если пунтосвитчер не нравится, то можно отключить «автоисправление».
Yandex не пробовал но если выбирать среди Google и маршрутов на основе OSM данных, то Google лучше строит маршруты. Маршруты от гугла можно показывать только на картах гугла.