I think you are right about it being fragile and becoming a big overhead in maintenance. Maybe one could add some sort of annotation to the sources for which you wish to check coverage and also modify HPC to handle these?
A simple interface where the user provides a list of function names to be ignored would be a good start.
It _could_ also be a good idea to have a way of ignoring literals. Flags like --ignore-num-literals and --ignore-string-literals could treat all such literals as covered or ignored.
Maybe I should put this as a feature request to the hpc maintainers.
I am wondering if they maintain an issue tracker or not.