yep.. predicting (rather than detecting) the failure of a switch or a specific port is difficult to do if its not a feature already built into the switch by the manufacturer. If you find a reliable one, let me know!

As far as your third party options go, you can setup threshold alerting with most network monitoring tools to get a warning alert based on a certain number of errors, etc. Do some research on what kind of snmp data you can gather form your switch. It *may* have something already built in to alert you via a snmp trap.
With todays tools the best way to truly ensure no one ever goes down is a solid redundant infrastructure. Obviously providing redundancy all the way down through the access layer to the desktop can be extraordinarily expensive. Very rarely will you see a company willing to spend the kind of money it takes to get all the way down to redundant network cards in a computer which are then connected to two separate switches.
The realistic solution for this issue is developing a proper service level agreement with your customers or end users. If your systems alert you of a down switch within 5 or 10 minutes of it dying, you should have the appropriate tools to re-kick a new switch based on a backup configuration of the old one that is now nonoperational for whatever reason. If you have the right resources, including personnel, you may have the switch replaced and back online in 30 minutes or less.
A mere 30 or less minutes of downtime for the average end user generally sounds better to the finance department... You can always build a highly redundant environment out to your more important users.