Consider not routing calls directly to VM, so many things can cause empty messages expecially with cells and SIP trunks nowadays. I always answer at night with a message about being closed, then offer "Press 1 to leave a message". Or even multiple mailbox choices. A side benefit is that you could allow extension dialing during the announcement, either announced or not, so I can find you if I know you're working late.