I’m going to essentially necro an old idea I proposed ages ago: awarding experience points to characters used in winning a match. What I was thinking was that characters could get a non-negligible amount of ISO for winning a match, probably based on the levels of the opponents. Therefore, if you beat a team consisting of 3x100th level enemies, each character used in the match gets 300 iso directly applied to leveling them. It would be applied directly to a character’s level, and not go into the ISO pool. If a character’s already maxed, they get nothing.
Alternately: remove post-match ISO rewards, make this the basis, but have the experience ISO matched - half goes directly towards leveling the characters used, half goes into the ISO pool. Same deal applies if character is maxed.
The advantage of this is that it would be a strong, direct advantage to promote roster diversity. People who use the same team over and over would be throwing away ISO once that team is maxed. And giving people an incentive to use different teams would also make the game more fun for everyone else, since they would face a more interesting mix of opponents. And it would mean you’d level people mainly by using them.
If the amount is too much it could be tweaked. With that system a character would get about 500 ISO for beating 3x166, or about 350 of those matches for a 3* to go 40 to 166. But with “roster diversity” a commonly expressed desire among the developers, this might be a useful means to an end.