The UN needs to be reformed. Specifically, the Security Council (which is where the big countries have vetos) needs to get rid of the veto and replace it with a 2/3 or so supermajority requirement. This would be the body that would have control over any security forces.
But that really isn't the issue. Every potential problem you point out has an exact analog in domestic government. Majority rule? Check. Fear that some will be above the law? Check? Militias abandoning their posts when things get ugly? Check. The wealthy using the law to enforce their own interests? Check. What is needed is the right set of institutions to alleviate these concerns. It will be difficult. It may be impossible. But I don't see why the result would be worse than the status quo.
Why is that? I think a much simpler explanation for the state of affairs today, and a much better predictor of the future, is - the nations involved in enforcement are going to be whichever nations belong to the most powerful military and economic global alliances. They have to be to be able to enforce judgments against anyone else; and they do it to protect their own economic interests.
Well for one thing, the most powerful military and economic global alliances consist mostly of democratic countries. For another, leaders of non-democratic countries tend to be more wary of granting ilaw legitimacy because they are more likely to be prosecuted by it. Israel and US are in pretty unique positions that cause them to reject the ICC, but by and large the biggest objectors are autocrats and 'rogue' states.
The UN needs to be reformed. Specifically, the Security Council (which is where the big countries have vetos) needs to get rid of the veto and replace it with a 2/3 or so supermajority requirement.
It's fine saying it "needs to be reformed". How do you see this actually being done? The existing UN will resist (with votes and vetoes) any reform movement. The only realistic proposal is for most countries to go off and start their own body and ignore the UN. This happened once before - when the League of Nations was disbanded. And how did that occ...
International humanitarian law proscribes certain actions in war, particularly actions that harm non-combatants. On a strict reading of these laws (see what Richard Goldstone said in his debate with Dore Gold at Brandeis University here and see what Matthew Yglesias had to say here), these actions are prohibited regardless of the justice of the war itself: there are certain things that you are just not allowed to do, no matter what. The natural response of any warring party accused of violating humanitarian law and confronted with this argument (aside from simply denying having done the things they are accused of doing) is to insist that their actions in the war cannot be judged outside the context that led to them going to war in the first place. They are the aggrieved party, they are in the right, and they did what they needed to do to defend themselves. Any law or law enforcer who fails to understand this critical distinction between the good guys and the bad guys is at best hopelessly naive and at worst actively evil.
What to make of this response? On the one hand, the position taken by Goldstone and Yglesias can't strictly be morally right. No one really believes that moral obligations in a war are completely independent of whatever caused the war in the first place. For example, it can't but be the case that the set of morally acceptable actions if you are defending yourself against annihilation is different from the set of morally acceptable actions if you (justifiably) take offensive action in response to some relatively minor provocation. (Which situations justify which actions is, of course, a hugely important question, but it is not the point here.) On the other hand, the whole point of constructing humanitarian law to be independent of the moral claims surrounding the war itself is that while there is at least one wrong side in every war, there is no real hope of getting the warring parties to agree on which side that is, so the only way for humanitarian law to make them behave any better is by side-stepping the whole issue of who's right and who's wrong.
So any sensible moral standard demands that the context be considered, but there is an excellent reason why the legal standard requires that it not be. What to do? Since requiring that the context be considered would pretty much be the end of humanitarian law, the question boils down to whether the benefits of a neutrally-administered humanitarian law are worth whatever injustice would be suffered by the occasional country that gets condemned for doing an illegal but morally justified act. I think it's clear that these benefits far outweigh the costs, but in any case that's the tradeoff.
P.S. Though I used Goldstone as the example to motivate the post, I deliberately stayed away from discussing the specific war that he was talking about. I don't think my views on that war can be inferred from what I wrote in the post, but in any case I would ask that folks not argue about them in the comments, not because it's not important, but because this isn't the right forum for it.