Buy some leading-edge or poorly supported hardware where the drivers are far from being included in normal distros. You'll learn darn quick how crazy things can get with links here and there, installing this library so that you can link to it to compile the drivers, blah blah blah. In ~2004 I had the craziest time installing an Atheros chipset wireless PCI card in Mandrake 10.0. This was while the drivers were working but not finalized enough to make it into the RPM's. My office had bought like 7 of these cards, and I needed to make them work. It took me like a week of research (it seems nobody had done it before, with Mandrake 10 and that version of the drivers -- or if they did, they didn't take the time to explain it anywhere on the 'Net) and tons of trial and error. I could look at how people did it for Red Hat or Debian, but it wasn't directly applicable. I had to download and install the kernel source so that the driver could link to the kernel source while compiling, and the versions had to be just right, and I had to create symlinks in a couple of places because the driver would look for stuff in places where Mandrake didn't put it, and blah blah blah... wow it was a mess.
So yeah. Go buy some bleeding-edge networking or graphics card and get it to work on your distro of choice. That will be a trial by fire.
Or try keeping up with the current branch of the kernel. Install the latest kernel and see what breaks on your system. Keep hacking at it until you can get it to work.
You definitely need to be running Linux on dedicated hardware so that you can keep it running all the time, and so that you can use another machine to Google for error messages when the Linux machine crashed because of the drivers you're trying to install. It doesn't have to be nice -- it can be an old P3 that somebody's throwing away.
I would stay away from the more user-friendly distros like Ubuntu. If you want to learn Linux, you've got to do some stuff on your own. Try installing the barest system, then installing X11 from source. If you use GUI tools for your install, you're not really learning anything, are you? Install Apache, and PHP, and MySQL (that one's tough) from source. You'll learn all about dependency hell so you'll know what to do when your distro's package management system chokes on something.
For a good change of pace, try FreeBSD. I'm not sure if they're still using an ncurses-based setup tool, but if they are, it'll be good for your soul.