I think part of the problem can be solved if there was some nice hardware that came with Linux preinstalled, with all the driver configuration work already done for you. That will still not solve the printer issue you described, but the "install graphics/sound/wifi driver" issue can be dealt with that way. Sure Linux is not properly compatible with every wifi device out there, but neither is, say, OSX. OSX gets around the problem by the fact that it only ships on Apple hardware. It would be great if we had Canonical computers for example.
edit: FWIW, I do commend companies like System76 and ZaReason that ship linux based systems but we need bigger players in the space to make a difference.