I think there are two issues with character viability right now
1) Most characters aren't viable throughout the whole of the missions
2) Some mission objectives follow themes that only a few characters are viable at. And when that happens, it makes character variety feel less impactful.
Explanation for problem #1: When I'm on a mission objective where the goal or part of the goal is to attack a giant bullet sponge in an open spaced area, like fighting Dr. Kuzman in the desert, General Marmalade, Aneska in her mech or Schneider in his mech, I always choose a high DPS character like Schneider and Constantine; When I'm on the mission where the spacelords have to save Loaht, I choose Rak Mayura, because his ability to increase the movement speed of teammates is useful when their holding the canister; when I need effective AOE damage I pick Dr. Kuzman.
The reason why I choose theses characters, is because their effective at those objectives. But when it comes to other types of objectives, they are less viable which makes their viability throughout the whole of the mission inconsistent. And the only character I can think of with consistent viability throughout a certain mission is Ginebra on the hades aleph mining mission. In this whole mission, mobility and flanking is quite crucial and Ginebra fits this mission well.
In conclusion, I think the solution for character viability is a mix of more characters that can be effective at specific objective types, so theirs more variety, more missions that can compliment the abilities, weapons and talents of the least played characters to make them more viable and more mission pattern variety so that some characters have general viability on certain mission (Which brings us back to character variety).