Are you specifically looking for a backpack made to carry a laptop?
I tote my 15" MBP in a JanSport backpack. It was not specifically designed for laptops, so I keep my MBP in an Incase case which I picked up at the Apple store.
(backpack)
http://www.amazon.com/gp/product/B000E3F1A2
(case)
http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wa/RSLID?mco=E17 1536E&fnode=home/shopmac/mac_accessories/notebookcases&nplm=TL991LL/A
The Incase case is soft and provides a good amount of protection... probably equivalent to the extra padding found in made-for-laptop backpacks. This backpack is very spacious. It has two large compartment, a smaller compartment which has a built-in organizer, two even smaller compartments, and a mesh pocket on the side. The MBP (in the case) can fit nicely in the large compartment closest to your back. The books, magazines, and maybe plane tickets can be placed in either of the large compartments. On the front of the backpack, the 3rd largest compartment has an organizer (a couple of really small pockets) where you can place your MP3 player, cell phone, & headphones. (Note: there isn't a convenient place to store your MP3 player while using it). There's then a pocket above that one (refer to the picture) which I have used to store my power adapter. The mesh pocket on the side can fit a 24oz. water bottle (Note: this mesh pocket does not appear in the photograph. If it no longer has one, the large compartments are big enough to fit 2-3 water bottles). I don't know about a
good place to place your hard drive, but there's certainly lots of space in the backpack. You can probably place it in the other large compartment. I have a dark blue one and I think it looks nice, but I think it would look nicer/ more professional in black. JanSport backpacks are very reliable; even with daily use, it can last for 3+ years. Better yet, the total price of both is ~$70 plus shipping ($35 for the case & $35 for backpack).
PS. Whatever backpack you end up purchasing, I would recommend the Incase case!