My suggestion is to check not only rules with 0 hits, but also when the specific rule was last modified/created. It can happen that the rule has 0 hits, but someone modified the rule like 4 days ago. Or just created brand new rule recently.
When the rule was created or modified can be checked over API.
Then i would add condition to check rules with 0 hits, which were not modified in XY months. You will be 100% sure these rules were not touched and are not used at all.
On the other hand, there are cases when the traffic is not intended to be seen on daily basis, like emergency console access in case of disaster recovery. Such rules are critical and needed even the rules have 0 hits and were created/last modified 2 years ago.
Kind regards,
Jozko Mrkvicka