I think no matter what, with large cast of characters, you will always need a large time investment to learn all the characters. I also think locking characters can make the game frustrating for some people, where they maybe saw a youtube video of someone playing a character and want to try it out for themselves, but they can't because it's locked.
Another thing League of Legends did to help with making sure people learn the game is the leveling system. Players are not allowed to play ranked games until they hit level 30.
In order to really teach the players how to play the game, the best way to do so is a well crafted tutorial. And for learning all the different cast of characters, I think Heroes of the Storm did this well, where they can "try" out a champion and brings you to a small map and you can use all the skills, freely level up on command, etc.