I don't know if you guys haven't noticed but Danzo is Hiruzen's best friend. It may not be true vice versa but he definitely has to much trust in him. Hiruzen knows this and yet he tries to persuade him through diplomacy rather then brute force. Hiruzen didn't mess up par say he just trusted the wrong people. Plus Itachi messed up by not telling him about Shisui.
@bold, Not really. That would have made things much worse. Hiruzen wouldn't do anything to Danzo, that's his best friend and he agrees that dark things need to occur in the village in order to maintain a balance. That and if Hiruzen were to confront Danzo about it, Danzo would automatically know that Itachi was the one who told him and therefore has Shisui's other eye. Itachi was better off only informing him that Shisui died. U_U
Also, considering that the village didn't trust the Uchiha because they were absent during the 9-tails attack, even if Hiruzen were to punish Danzo (which he wouldn't have), it would make it look like he was siding with the Uchiha and the villagers would take that negatively. This isn't a situation that you can easily fix. It's going to have a negative impact no matter what choice is chosen. At least Hiruzen tried his best, as humans we all fail sometimes.