taxikabs
It seems like it's worth identifying weak spots in your codebases where higher complexity is lying, you have sole contributors on your team, or buggy areas. Armed with the information, you can plan ahead for them. Would refactoring into a different design better manage the complexity? Can we get more team members involved in changes to parts of a system we don't have familiarity with, for redundancy? Why are we fielding so many bugs in this functionality and how do we mitigate it?
I also believe that method promotes hashing it out together. Outright rejection of an idea seems to put the onus back solely on the suggester to defend the idea without having been communicated the reason. That said, communicating the reason for rejection goes a long way towards making both process more equivalent.