Given that Bin Laden certainly wasn't going to voluntarily change his mind and hand himself in, and given that he did not surrender to forces trying to capture him in order that the aforementioned justice could be served, the only other practical option available to his forces was to kill him. That feels pretty morally watertight to me on a personal level, and I think it feels broadly acceptable to a majority of people.
Any criminal who does not surrender can only be shot? I don't know his martial arts skills, but if he was UNARMED, how could he be of any danger to a group of special forces soldiers?
We've already determined he was an enemy combatant as well as a criminal, so your point is irrelevant on a legal level. On a moral level, if you imagine the scenario unfolding in real time, there really is no way the special forces could have known he didn't have a grenade or whatever else on him, and in a combat situation, if someone isn't clearly surrendering, it's perfectly morally acceptable to kill them.
Applying 20:20 hindsight is rather daft; the soldiers in real-time would not have known he was unarmed even if he didn't have a gun in his hand, and as he did not surrender, there wasn't any other option but to kill. Even wounding him or using tear gas or whatever, would not have guaranteed sufficient incapacitation.
This kill was clean, legally and morally, under any permutation of the available facts, fun though it is to argue it through.