That being said when you look at the locations of some of these hubs they are in pretty undesirable places in terms of incurring flight delays due to weather - Chicago? San Francisco? Minneapolis, Denver, New York?
Chicago [same for New York] is large enough that it will be a hub: enough people want to get from Chicago to every other city that if you don't offer the direct flight someone else will. From there people will figure out you can get from Chicago to anywhere they will will make it a hub despite your wishes.
The other part is historical. Minneapolis was a hub for Northwest Orient Airlines because it started in Minneapolis and thus made that their home hub. Delta eventually bought Northwest and got the hub with the deal. They decided to keep Minneapolis as a hub.
I don't know what the situation is with San Francisco. I suspect historically planes needed to stop there for fuel before crossing the ocean. That is just a guess though.
I am not trying to slight Denver or Minneapolis in any why I'm just using them as an example. It just seem that a strategic rebalancing of hub locations might make help with delays and rescheduling. The situation now seems to be the airline inherited the hub through consolidation and that's where it will stay because they're too cheap to move it.
Though why Fargo isn't a hub by this logic I don't know. Also a population weighted geographic center is probably a better consideration than just pure geographic.