Several options / ideas..
First solution : why bother ? This excellent tool makes a backup of your pfSense config.
The "install USB"is mall, can be downloaded fast, you'll be back on line 10 minutes after you start re installing.
Next : Is your pfSense essential ? Use a new drive every 3,4 years, and after that period, use the disk on a less essential place.
Related : Use an UPS, and all risks are divided by a positive number N, where N is bigger then 1.
Keep a spare drive on the shelves.
Next : You have a "server" some where running on the Internet (for your own sites, mails, games, private DDOS attacks and such) Use a data collector tool like Munin - see here - and as soon as one of the values reaches a critical point, you get a mail.
Btw : I never received a mail from Munin, the drive was always fine now, and dead 10 minutes later, taking pfSense with it (so - see first point). My Munin example is from my dedicated server, it uses a "Raid 1" using two identical drives. For such a setup, smartctrl has more sense. If one drive fails, the system will continue tu run on a single drive. I will have some time preparing the swap and re sync.
Next : Using the new ZFS filesystem, with pools, with a Raid 1 or bigger) a manual, monthly Smartctrl will do.
As you said yourself, a basic cron, some grep and mail isn't that hard.
/usr/local/sbin/smartctl -H -c -l error -l selftest -l selective -a /dev/ada0
(because my drive's driver name is "ada")
This will show a boatload of info.
Just 'grep' the possible bad-ass values, and mail them up to yourself.
Your mini scripts / cron will be update proof.