My issue with this argument is this.You and I debated this a lot last night, and I knew there was a reason why your argument just seemed wrong to me, but it was probably too late at night for me to think straight enough to come up with it. But as I have thought about it throughout the day today, I realize why the argument above doesn't really work. Because, while in theory is sounds quite simple (you don't switch a Pokemon into something that could kill it), it simply runs against the reality of how competitive Pokemon has been played for the past two decades.
The idea that if a Pokemon can hit decently hard back at thing the things that threaten it, then those things won't swtich in, is not a situation that has ever manifested itself in actual competition. Perhaps the best example of this is one that goes back all the way to the beginning of the Pokemon series: Water types. Since day one, nearly every single Water type in the game has had access to Ice type moves. What's more, Ice type coverage is great for Water types as the combination of the two is only ever resisted by fellow water types (and Shedinja). If the argument presented in the question held any water, this would basically mean that Grass types would never switch in on Water types, despite the clear type advantage, because they could be hit with an Ice move. But that is simply not the case, and never has been. Rather, they do switch in because the majority of the time that you switch in, it is because the opponent's Pokemon is threatening to what you have out, and you switch in expecting them to use the move that is strong against your current Pokemon. Yes, opponents can predict. And if they do, good for them. But you simply cannot be successful playing Pokemon by assuming you will be out-predicted at every step. The player that always has their Water type use Ice Beam against Fire types because they might switch to a Grass type will not be very successful. Nor will the player who never switches out their Fire type to a Grass type because they fear the Ice Beam. Successful players will sometimes switch and sometimes stay in. They will sometimes use Ice Beam and other times use Surf. It all depends on the state of the battle and the risks they are willing to take. But, as a general case, yes, people will switch in the Grass type.
That is no different than the case with Dragon/Fighting or any other type. Yes, a Fairy that switches in could be hit by Anchor Shot (or Flash Cannon/Poison Jab, if you want to look at a real Fighting/Dragon Pokemon), but in general, they are switching in because something weak to Dragon or Fighting, or otherwise about to be KOed by those strong STABs, is switching out. And in general this means that a Dragon or Fighting move is incoming. The only real difference for us is that, if taking an Anchor Shot puts you into KO range and you are slower than your opponent, then you would have no further recourse. How good this ends up being is largely a function, not of typing, but of how much power we put behind the attacks. But suffice it to say that, unless we are faster than them all and strong enough to threaten KOs on them all easily, there will never be a case where fairies will not want to switch in, because that is how people play the game. Taking advantage of that fact is a big part of why I think types like this work so well for the concept.
Let's say that we make Cap 23 a Dragon/Fighting type to lure in Fairies to beat with Anchor Shot. So, Cap 23 is out and your opponent switches into a Fairy as they fear a Dragon or Fighting STAB move. If they're right, the Fairy tanks the hit. Then, you will try to hit it with your Anchor Shot for SE damage. Which means that you're not using it for trapping,but for damage, which you just argued against. But let's ignore that. Your opponent has two options. They can either switch again, meaning that you haven't taken out their Fairy after all, or they can hit you with a STAB Fairy attack for 4x damage while you are only hitting them for a non-STAB, base 80 power attack which does only 2x damage. If that takes out the Fairy, we're acting more like a Sweeper than a trapper and if it doesn't, we have now trapped a mon that can freely spam attacks at us which are 4x effective. Who is really trapped with who? If you get this strategy to work, you're just crushing the opposition with your attacks instead of taking advantage of trapping.
This barely improves if we predict the Fairy switch and hit Anchor Shot immediately, which, based on what you said, is not what will usually happen in practice.
And if we need to trap enough that we hit Anchor Shot regardless of what's out there, then that will become known and people will know an Anchor Shot is coming and will switch appropriately in a manner that is detrimental to Cap 23, meaning that they'll only switch into a Fairy if the strategy of Fairy luring doesn't actually work.
I mean, Corkscrew Crash could help with this, but then that will become a predictable strategy. The Fairy will resist All-Out Pummeling and be immune to Devastating Drake, so those will be a waste of a Z-move. Meaning that if you want to run something different, you are basically stuck with Poison Coverage and Poisonium Z meaning that we are stuck using four attacks with redundancies in their coverage.