Fairphone is offering a solution to this by designing devices that are repairable and have guaranteed software updates, though it requires some compromises.
because the phone is not sealed, its waterproof/dustproof rating is lower
the specs are lower than other phones in the same price range - this is probably due to the modular design and the need to assure the supply of replacement parts
the phone is only designed for the EU - it may not support the network bands used in other parts of the world
Yeah, it's a good concept and I'd like to see more options like it on the market, but it kind of runs against the current consumer electronics profit model and the way the electronics supply chain is structured.
It does seem like consumer awareness is changing, and there's more and more demand for sustainable and long-life products. Hopefully that continues. I think "vote with your wallet" applies to this sort of thing.