CIBlockElement::CounterInc($ID); лучше поместить в component_epilog.php но проблема остается, ибо - При увеличении учитывается уникальность просмотров данного элемента в одной сессии.
Конечно же с помощью отдельной от битрикса системы аналитики (например, https://matomo.org/). Использование показателей счетчика просмотров в пользовательской части эквивалентно отключению всех кешей (ведь страница по мнению Битрикса будет "новой" на каждом хите из-за изменившихся цифр счетчика), а следовательно безбожным тормозам и падениям всего и вся под нагрузкой. Если вы это читаете - откажитесь от данной затеи и вообще от любой затеи учитывающей просмотры напрямую из таблицы элементов (например от сортировки по просмотрам в разделах). Вместо этого, вам нужно создать отдельную таблицу (или HL-инфоблок), где будут данные о нужной вам сортировке, обновляемые по крону (раз в неделю)...