OK, we need to back up. This discussion has gone through about 3 definitions of viable.
Viable = capable of successfully working/feasible. (That's the dictionary)
So, that leads us to:
"is it feasible for me to invest time learning [insert character] with the aim of competing successfully in a respectable tourney environment."
A viable character is any character that can support a main through a tournament. It does not mean that secondaries must be necessary or unnecessary because that comes down to preference and personal match-up difficulties.
For example, DK is more viable than Pokemon Trainer, almost everyone would agree. However, DK's got much harder counters than Pokemon Trainer has, due to the nature of Pokemon Trainer's auto-counterpicking thing.
An even more extreme example is DK's own bane, D3. By that same logic, D3 becomes a non-viable character. And wario, a character with very even matchups, is **** good, but more viable than DDD? Really? Saying that wario is more viable than D3 basically means that you don't know what the word "viable" means.
Personally, I feel like viability is a rating of a character if you take the tourney results, and then try to weed out the influence that popularity has on the numbers. Then, you'd have viability, pure and simple. I dunno how you'd do that, though.