Re: So start legislation...
^ this.
Also re printers, mandate that they use open-standards for their interfacing. It prolly isn't so bad now, but I was miffed a few years back when I had to replace an old Canon LBP simply because it was a "Win-Printer" dating from ~2000 and absolutely would not work with anything other than Win9x or Win2K/XP. No MS-DOS, no Mac and certainly no Linux. And no way to resolve this... I'd spent waaaay too much time naffing around with VMs to keep it going as long as I did!
Also, routers. They should be user-flashable, and again, document stuff so someone might stand a chance of creating an open-source firmware. And they should use standardised PSUs too... just for good measure.