As per T2718, I played around with a few different error handling approaches but found the best solution is to simply ensure the output hex is in relation to an incoming msg before attempting to decrypt.
This is because pretty much all of these errors are from attempts to decrypt the private message when it's sitting in the sender's tx history, but obviously the message has been encrypted with the recipient's pubkey (not the sender's) hence resulting in these errors.