I found an article that gave some simple advice on creating characters recently (you can see the article here). Most of the points are to prevent you from creating Marty Stu or Gary Stu characters. One of the great points was that you should use a 2:1 rule:
For every couple of positive traits you award your characters, add in a flaw too. Remember that biting nails, being rude or clumsy are not flaws, they’re bad habits at best. Real flaws affect their story. Being shallow, betraying a friend, or even narcissism are all normal traits that will make your character more realistic and will help readers relate to them.
I think this is a great rule, and will stop your character from becoming too overpowered. Also, flawed characters are more interesting aren’t they?