So a client is a relay between relays? 😀😯🤦
The distinction of client and relay as different roles in an asymmetric communication scenario is nuts.
Decentralized systems only have one type of node: Peers. Every communication is peer-to-peer and symmetrical.
Why not start there if you want to fix things. You complain about developers having a "centralized" mindset yet your notion of a "client" absolutely implies centralization.