It's unfortunate but as a consensus driven system it is much different structurally than say Linux. I can fork the Linux code and run my own version and nobody cares and it still has utility (for me), but Bitcoin as a whole requires a lot of different parties to agree on the code they run for it to be effective. I'm undecided as to whether that is a fatal flaw or a feature.
I think blockchains are more practical for a few traders who meet around a Buttonwood Tree (permissioned) than they are for the public.
The reason we got so far before blockchains were invented was that you've never get a paper in a CS conference if you built a distributed system that did not increase it's ability to handle more workload AT ALL when you add more nodes.
If 5 parties that don't trust each other 100% share a blockchain they get a lot of benefit from that. Upping that 5 to 500 or 5000 does not increase the value proportionately. That is, blockchains don't scale.
Well, they do scale. It's just a question or how much they scale. A practical perspective says we don't need to scale to VISA levels right now, we just need to slowly increase the block size to encourage adoption and new users while keeping fees low, while additional scale measures are explored and integrated. Bitcoin's proof-of-work is susceptible to centralization risks independent of the block size. The nodes that are doing validation for light clients are important, but don't need to store the entire blockchain to do that validation and so are largely limited by compute and bandwidth. If we slowly increase bandwidth requirements on a reasonable schedule we can continue to grow Bitcoin's base for years. Is it reasonable to expect we can handle 24 megabyte blocks in 6 years? There are other ways to handle scale that are less complicated than Segwit. This entire thing might fall under extremely premature optimization.