We are not trying to execute triggers with setup errors such as invalid filter formulas or missing date column. There are however another sort of errors we can not detect in advance. For example, the trigger tries to process too many record at once (this usually means bad filtering logic) or updates the record with values that can not pass validation rule or tries to assign a value that is longer than a destination text field. In many cases, these errors are permanent, but we were spending server resources in attempts to execute the trigger over and over again.
Since today, we are counting a number of triggers’ failures. When trigger fails to execute 10 times in a row we are disabling it automatically and adding corresponding record to an audit log.