First, is this for your workstation or a server?
The recommendations would be rather different depending on what the usecase is.
For a workstation one or two SSD:s will produce
significantly more IOP:s than any classical drives can ever do.
For a server you will get way better performance
and large capacity if you use something like a
ZFS raid with the desired number of cheap 2Gb drives coupled with a dumb SATA controller and a SSD read/write cache drive (or multiple, depending on exactly how much IOP you neeed...)
And as for avoiding software, software raids almost always produce better performance, and is most definately safer (at least if you stay away from linux LLVM or Windows software raid).
It is, of course, somewhat hard to share between different operating systems.
Thus, a large NAS server is usually the best solution. With a 1Gb (or 2Gb, if you have 2x1Gb network cards and are willing to spend quite some time setting up bonding..) connection to the server you get high enough streaming bandwidth for most things, and the random access times will be very low if the NAS server has a few Gb of RAM and a SSD cache.