1. Look at your character and ask yourself "Will people want to read about this person? Will they seem interesting to my readers? Will they be able to relate to them?" If the answer might be no to any of those, work on it.
2. If your character has no impact on the story, makes no difference in it, and anything they've done could have been achieved without them, do not add them in.
3. Do not make your character some "edgy" brooding lone wolf who refuses any and all help and interaction and goes it alone. That is not original, and it is not something readers want to suffer through.
4. Overpowered does NOT equal badass. It shows a lack of care given to your character and laziness. Nobody wants to see a character stomp through enemies and canon characters with ease, as that defeats the purpose of the struggle and destroys any semblance of tension that could have been had.
5. Your character is not a special snowflake. There is no reason to place them on a pedestal over others, or put emphasis on any special traits they may have. They are not better than the canon characters of the fanfic you're writing about.
6. If your character is a teenager, they're not going to have fifteen different skills that they've mastered and an unparalleled mastery of a weapon or multiple weapons. Mastering even one skillset or weapon takes years of practice, more than one would take an entire lifetime.
7. Think about the situations you throw your character in, and ask yourself how you would react in those situations. Honesty lends credibility.
8. Do not give your character a "troubled" history unless it's going to come into play as a major plot point. If you do something like killing off their parents or family to make them have a dark backstory, either follow up on it and have them affected by this traumatizing event, or drop it entirely. Treat the event for what it is, and make it affect your character properly.
9. Give your character a goal, something they're trying to reach. If your character is just there for the ride, get rid of them, it'll no different without them. Have them work towards something so your readers can root for them and hope they succeed, or fail.
10. Give your characters personality. Give them likes, dislikes, hopes, dreams, emotions, opinions, make them hate one thing, and love another. Make them feel like an actual person, so we're not just reading about some emotionless doll.
11. Avoid making them related to canon characters. There’s no reason to do so other than to try and make your OC “connected” to the canon characters in some way. Unless you can pull it off well, make it believable, and have it set firmly in an AU, do not do this, it’s stupid and cliche.