So, after negotiating with Google and not liking their offer, upper managers make the decision to not retain Google maps and go with their own solution despite not being ready to make that move.
You condense a lot into that statement, and by so doing miss the entire issue. Google refused to offer parity in features to Apple without forcing Apple to make concessions that they felt they couldn't make. Granted, the full terms of the negotiation haven't been made public, but it wasn't just minor haggling over some minor issues.
Faced with the predicament that Google put Apple in, Apple made a choice that in the long run will be very beneficial for Apple, despite the pain they (and us) have had in the short term. Could Apple have handled it better? Yes, but they would have had to start working on a map app long ago and at some point would have had to put it out there with its imperfections to get crowd sourced improvements.
As far as firing someone, realize that many of these people make huge amounts of money, often millions of dollars. If you don't deserve to get fired when you screw up, then why do you deserve to get millions when you don't? If I had paid someone millions of dollars for a product that pissed many of my customers off, you can bet that person would be out the door.