I'm not sure where this idea that viability is equivalent to how important it is to take into account when teambuilding comes from because that simply isn't true. Some of the very first Pokemon I think of when I teambuild, Ferrothorn and Rotom-W, are only in A. A lot of people make sure not to make Baton-Pass weak teams yet Espeon is only at C, lower than the likes of Doublade, Mega-Ampharos and Mega-Camerupt which no one really thinks of when teambuilding. For me, viability has to be seen both from the point of view of the user and the opponent, but more so the former. After all, the descriptions for each rank refer to risk/reward, how easy it is to account for these Pokemon's flaws, and how reliable they are, all of which are more relevant to the user of the Pokemon. For the most part, the elements of viability that affects the opponent are direct consequences of those that affect the user. ie "this Pokemon is so easy to slap on a team, it is everywhere and therefore has a huge impact on teambuilding" or "this Pokemon can set up so consistently, you need a consistent answer to it in return". Therefore, I don't think we need to adjust for how threatening a Pokemon is since that's already a consequence of how good it is from the point of view of the user. The only exception to this is how many potential sets this Pokemon can run which is definitely more relevant to the opponent than the user, and should also be considered in viability. Sure, you can use the viability rankings as a threatlist, it works pretty well as one, but that's not its primary use afaik.
That being said, I do think viability isn't that clear a concept and there need to be specific questions we need to answer in order to get a better idea of what viability really means. Personally, the questions I consider when thinking about viability are these :
- How much does this Pokemon bring offensively? defensively? supportively?
- How important is this Pokemon's job in the current metagame?
- How consistent is this Pokemon at doing its job?
- How safe and easy is this Pokemon to use?
- How versatile is this Pokemon and how efficient is it at its different roles?
- How commonly is this Pokemon the best option on a team as opposed to something else? (if the answer is "never" then the Pokemon is unviable)
- How much opportunity cost does this Pokemon have?
- How much momentum is this Pokemon able to generate?
- How consistently and reliably can these Pokemon's check and counters check and counter it?
- How common are this Pokemon's weaknesses?
- How easy are this Pokemon's weaknesses to cover without losing too much offensive momentum?
- These last 4 questions can be summed up in this last, very important question : How much strain does including this Pokemon put on the rest of your team and how much is it worth what the Pokemon provides?
I may be forgetting something and this list can probably be improved but these are the most important questions imo. A Pokemon doesn't have to answer all of these with flying colors to be S rank, and some questions are definitely more important than others. but this should be a good enough basis for figuring out how different Pokemon compare in terms of viability.
So, if we take Latios for example, it brings a lot offensively, defensively, AND supportively. Its ability to check Keldeo, Rotom-W and Landorus-I as well as providing Defog support is very important, it's quite consistent throughout multiple playstyles though hampered by Pursuit trappers, it's not that safe or easy to use though since both of its STABs have immunities and once again it's annoyed by Pursuit, but it's not exactly hard to use either. It's not particularly versatile but both the Life Orb and Scarf set are very good at what they do, it's almost always the best option on a team and only suffers minor competition from Celebi and Starmie. No opportunity cost at all. Its high speed and power give it good momentum-gaining abilities, however, the fact that its STABs have immunities can be problematic in that regard, as can Draco Meteor's SpA drops. Latios's access to coverage means a lot of its checks (Heatran, Ferrothorn, Scizor) can't check it too reliably, and it still deals a good chunk bit of damage to the likes of Tyranitar and Bisharp (though if they have Pursuit they don't really need to consistently check it,, especially TTar who if Scarfed doesn't even need to win a 50/50) so most of its checks can be worn down. It does have a bunch of common checks though, Heatran and Ferrothorn are very common, Clefable is quite common, but the biggest thorn in Latios' side is Mega-Metagross. Now, it is true that Mega-Metagross can't switch into Latios multiple times in a match. However, it is so common and so powerful that pretty much every team featuring a Latios needs a good answer to it. And though those do exist, they, for the most part, kill momentum pretty badly. This means that an offensive team with Latios has to choose between either being weak to MMetagross or running a momentum-killer, neither of which are very appealing options. Latios should not be S rank imo, simply because of that last point : putting it on your team puts a real strain on your teambuilding and a lot of offensive teams would much rather not run it and not open themselves to Mega-Metagross.
I can apply this to basically any Pokemon. Let's do Mega-Lopunny. It's brings a ton offensively, with the ability to threaten a large amount of teams though very little defensively. It does have quite a few support options, but in order to access them it usually needs to give up some offensive potential. Lopunny has a very unique role in being both fast enough to cause huge problems for offensive teams, outspeeding a bunch of fast threats like Weavile and some slower sweepers at +1, all the while being powerful enough and having good enough coverage to threaten certain bulky Pokemon (stuff like Rotom-W, Ferrothorn and Heatran). The ability to both hit fast and hit hard with great coverage is very valuable to a lot of teams Its mix of speed, power, and coverage is almost unmatched and though it has minor competition from other Fighting types like Mega-Gallade it still has a ton of advantages over most Pokemon that could be used over it, so it's the bets choice for a mega on a lot of teams. It's very consistent at its job, almost always putting in a lot of work against offense though it can struggle against bulkier teams depending on what it runs. It's easy to use, especially for the Fake out set. Return is usually the safest move to use since it's 100% accurate most of its resists (Steel-types and Rock-types) are hit very hard by HJK the nets turn if they do decide to switch in for whatever reason. HJK is to be used if you need the extra damage or are hitting a Return resist Sub and PuP sets are slightly less mindless and require a little prediction but aren't hard to use either. It has a variety of great sets which all serve slightly different purposes and can be fitted depending on what the team needs. It has some of opportunity cost given that it is a mega. It is a fantastic momentum generator due to its high speed and power. It is vulnerable to passive damage from Rough Skin, Iron Barbs and Rocky Helmet, faster attackers (basically Scarfers) and physcial walls which are kinda common but not all that common (2 of the most common phsycially defensive Pokemon, Rotom-W and Ferrothorn, can't beat it). Its most common answer, Landorus-T, is very easy to wear down especially if scarfed and loses to Ice punch variants. Scarfers check it but are not hard to take advantage of, and the only truly common defensive answer to it is Slowbro who is kinda messed up by Toxic. Most of its defensive checks have reliable recovery so can consistently deal with it, however the existence of the Encore and Toxic sets doesn't make them 100% reliable counters either. Most importantly, none of its anwsers are hard to deal with. they can all be taken advantage of or worn down without losing offensive momentum. This is what makes MLopunny S in my opinion, the inability to reliably check it without letting yourself being checked quite easily in return.
So yeah, if you're wondering how I personally judge viability, that's more or less it. If we can come up with general, precise standards for viability that would be great and would make these discussions go a lot more smoothly.