Name and shame the companies that use those techniques, then vote with your wallets and never buy their products again. This is a problem that will mostly solve itself, given enough time... Oh and never get tired to tell this to others, less technical folks why they shouldn't buy X from brand Y because Z, even if they don't fully understand why - tell them to give you a call, if in doubt...
It won't. In this sense it's just like openness in software. No matter how much crap and unacceptable 'features' MS pushes on people in win10 (as an example), its usage will not shrink and people will not boycott these power-hungry assholes.
Same with this, the right to repair is fundamental and cannot be taken away. Yet, most just don't care and it will be taken away eventually.
Educating our children and those who we love is probably the best shot at this but it's unlikely it will be enough.