Hamlet would make the best king in that his actions are consistently based on a strong consideration of right vs. wrong. Hamlet is a highly intellectual character who agonizes over decisions that impact others knowing that his actions are not isolated reactions to his own reality, but rather, in his role as prince his actions have consequences that reach beyond his own desires and present conflict. While Hamlet’s contemplative nature is not without its pitfalls, Hamlet’s flaw (inability to take action) springs from his immaturity, while Claudius’s comes from a rottenness of heart. Overall, when considering either’s suitability for leadership, a king who toils over the long term impact of his decisions and consistently approaches situations with a commitment to the greater good of his subjects will sooner win the loyal hearts of the kingdom than a man of self-serving action.
Honestly, I don't think either of them would make a good king, but if pressed, I'd have to say Claudius.
Claudius saw what he wanted (the kingship and Gertrude), and he acted to get it. Once he was king, he acted to solidify his power, but didn't act maliciously until the end of the play. By that I mean, he had Hamlet observed, not assassinated, in the mid-play. Only at the end of the play did he move to action that way, and when he did, he tried to set it up again so that he survived. He set up someone else (Laertes) to kill Hamlet at the play's end, then tried to stack the deck with poison. Claudius is immoral, but he does act.
By contrast, Hamlet waffles. His father charged him with vengeance, and even though the ghost gave him supernatural knowledge, he has to test it. He has to confirm that his dead father's ghost is telling the truth. He also doesn't kill Claudius because Claudius is praying. He also makes mistakes when he does act. The biggest of these is killing Claudius. Finally, in playing mad he damages his reputation for the future. People might follow a harsh king (Claudius), but who would follow a mad, waffling king?