The problem is that smartphones are way too expensive. Back in the old days of dumb phones a top end SIM free phone would cost no more than €400. Most people would opt for a cheaper model that allowed for a 12 months subsidy with the phone being free and monthly fees being fairly low by todays standards. In the UK it was common to find deals where you got a cheap phone for free, plus a game console or TV on a 12 month contract.
Now it has flipped. Top end phones are now nudging €1000, this means higher monthly fees plus 24-36 month contracts. That's a hell of a commitment, especially considering smart phones aren't as durable as dumb phones were. Of course people are repairing phones when they cost that much.
Plus, there is less of a feature incentive to upgrade. All I use my phone for is web browsing, email, social stuff and photo/video - it's three years old and does all that with no lag. New models don't offer me enough of an incentive to upgrade.
If manufacturers want people to upgrade more often they need to work on curbing the price of top end models. The more expensive they are, the longer people are going to want them to last. Also, a bit more innovation would be nice - must every smartphone follow the exact same black rectangle design template?