You're totally correct in that some of the hashes are used to secure the network. Even so, from what I understand that could be achieved with thousands of times less compute power than currently being committed. I am no expert in securing the blockchain, so if anyone else can weigh in on this I would love to hear their take.
An elegant solution I have yet to see would be having only a randomised subset (weighted by compute power) of all miners actively trying to solve each block, while the rest point their compute to something more useful.