1) Make a hated character likable
Simplest way to make a hate character likable is either to give him a sad back story and/or have him be the love interest to the main character.
We all know that when we learned Hook in Once Upon a Time was seeking revenge for the love of his life that you instantly wanted to hug him and get his revenge. Plus he happens to look good without all those curls.
The bad guy redeeming himself enough to become one of the central love interest's of the main character? Instant likability! If the protagonist that we are all rooting for likes him/her than who are we to object?
2) Have a selfish character be less unreasonable
You know you have those characters that are just unreasonably selfish. I'm talking to you Pan. So much so that when you read his book you look around and wonder "Why do people like you?"
(You do know he steals away Wendy's daughter at the end right?)
The answer? When your story gets retold the author is smart enough to make you NICER.
Even if you are still a little bit selfish, at least you have FEELINGS.
(Someone's going to miss his Wendy...)
3) Keep the best characters the same with very minimal adjustments
Now there are some characters that are great when they are completely changed around for good.
And then sometimes it's just nice to see them act like themselves because you know they are going to stir up trouble.
You know when there are protagonists that feel like they are in the background of their own story? Or are blissfully unaware of how to get their lives together?
All you have to do is give them a compelling back story where they are trying to find their brothers and are dedicated so much that they lie to their family and friends. Then they go through emotional turmoil trying to look for said brothers, but the also discover some peace in the one outlet that their brothers loved.