Stop arguing about client A vs client B, and get to building clients C, D, E, & F.
This exact model works well for the Linux kernel. Everyone can fork their own client. Nobody can control ALL the clients. All clients would have to play by the same rules, lest they get forked off.
Max decentralization. Every change requires massive crosse domain agreement. Bitcoin would become even more anti-fragile.