На контактах держать дежурные +4,5 В. Если на них пошёл втекающий ток, значит подключились к хосту и надо включить зарядное. Если с них вытекающий, и уровнем более 10 мА, то это нагрузка — тогда напряжение на контактах поднять до +5,2 В и ожидать возврата тока к этим 10 мА, после чего напряжение понизить до первоначальных +4,5 В, т.е. снова дежурный режим.
Насчёт "не эффективно" — такие схемы, в т.ч. исходя из необходимости защиты от КЗ на контактах, логично делать на каком-либо современном монолитном синхронном повышающе-понижающем преобразователе, например,
TPS63021,
LTC3533 и т.п., а если подешевле, то программно и на россыпи — в любом случае, приемлемый микропотребляющий режим, т.е. незатратная поддержка дежурных +4,5 В, т.е. безо всяких ручных "включений DC-DC", уже автоматом реализован их производителями сам по себе как штатная работа, или реализуется однозначно и легко.
Ещё раз. Если у Вас преобразователь простой повышающий, то очень быстро случится "бум", потому что у этой топологии нет защиты от КЗ, так что, лучше не подписываться под разорение таким объёмом рекламаций и использовать этот случай, чтобы всё сделать по-нормальному, в т.ч. и подсчёт ныне бездельником микроконтроллером вкачиваемых и выкачиваемых джоулей.