Don't the problems with upgrades happen because everybody uses different programs? I could test something and say "it works fine for me", but that still is no guarantee it will work for others. it's exactly the same as providing upgraded packages IMO.
Perhaps though, we should rethink our policy of disabling the "update" button, and instead just make a warning pop up. Or, we could all try to upgrade more often and report errors when they occur. Apparently, people seem to think it's crazy to not upgrade your packages as soon as a new version of something becomes available. They may even be right. Perhaps, we should not make such a big deal of an occasional upgrade problem, and instead of saying "you shouldn't upgrade" say : "we're sorry the last package broke it, here's a new package that'll fix it."
Something else that may be worth looking into is the way our repo's are organized. People seem to find them confusing for some reason.