Можно конечно убирать ховеры на разных размерах устройства по медиа-запросам, но не всегда узкий экран означает наличие тача и наоборот.
Рекомендую использовать библиотеку
https://modernizr.com
Писать самому в js при этом ничего не придется.
Помимо прочих плюшек, плагин в зависимости от устройства, на котором открыт сайт, прописывает в html классы touch и no-touch.
Потом достаточно просто задавать стили по этим классам, например
html.no-touch a:hover {
color: #ccc
}