Things cancelling for whatever reason bothers me way less than forcibly removing passengers (or denying boarding of passengers) due to oversale/weight restriction/seat inop/etc with a voucher, with an expiration date no less.
Auction up the space if it’s oversold to whoever will take the least, and pay cash.
Actual cancellations? Seems too hard to track what is controllable vs uncontrollable. I’ve certainly seen an airline manipulate the details of the “why” to make it a weather delay/cancellation versus a maintenance delay/cancellation… if that’s how we’re defining controllable vs uncontrollable.