I'm still waiting for Linux to fix a few things before I make the switch.
#1. Make it easier to install software. As it stands, it's extremely frustrating to install anything for beginners.
#2. Have more compatibility with emulation and gaming software. I'll admit that this is a tough problem to solve, since it seems to be circular. Most gamers won't switch to Linux due to the lack of gaming support, and most developers won't release clients for Linux due to a lack of gamers. Someone has to make the first move ...
#3. This one is probably more of a pet peeve than anything else, but why aren't there any good names for current Linux distributions? Windows is a great name. It's simple and to the point. The same can't be said about Linux. Here are a few examples of some ridiculous Linux names: Ubuntu, Knoppix, Debian, Frugalware, Mandriva, Mint, Morphix, Slackware, Xubuntu, Gentoo, Plamo, Lubuntu, Kwort, Kubuntu, Quantian, Red Hat, Kurumin, MNIS, Mops, Ututo, Chakra, Elastix, Pingo ...
I don't get why every Linux distribution has to have a stupid name. To be honest, I think that's why Linux has never really caught on with mainstream consumers. Linux suffers from an identity crisis. It's nice to have so many options, but it's starting to get a bit ridiculous.
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg