I like ClinVar annotations in ANNOVAR, but I believe you can use SNPeff for custom annotations from .bed files as well.
You can also use custom annotations ANNOVAR, which is what I did for GWAS Catalog associations.
Other than that, I think the answer kind of depends upon your question. For example, I wouldn't use protein function predictions alone to identify a variant candidate as damaging (and you would want to check for pre-mature stop codons and other loss-of-function variants). In practice, I would probably use population frequencies (like 1000 Genomes, gnomAD, etc.), but it would really be best if normal controls were matched by experimental protocol and bioinformatics processing.
SnpEff is good also try VEP