Можно ли на js проверить поддержку href="tel:"?
Так чекайте на предмет мобильного устройства с помощью https://github.com/hgoebl/mobile-detect.js
По поводу единичных случаев подмены userAgent, с этим не стоит бороться. Ваш алгоритм то предусматривает какое то разветвление и другое действие для не мобильных устройств. Дополнительная проверка на ширину устройства будет вообще ненадежным методом определения мобильного. Если говорить про исключения, то ведь есть еще планшеты с симками с установленными звонилками. Все не предусмотришь.
Можно проверить user-agent на мобилки, это же для них ссылка.
А узнать может ли девайс открыть эту ссылку через приложение через JS... не думаю. Да и какой в этом смысл?if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )