What I don't understand is why we aren't talking about Protect's role in all of this.
For MGengar to get off a Perish Trap it needs to 1) use Perish Song 2) Protect 3) Protect a second time in a row Or, Mengar could Substitute instead of relying on a 50/50 4) Switch out to a "safe" pokemon Considering that the opponent cannot switch, of course the Pokémon Mengar switches with will be safe since no smart player would switch in something that would be significantly hurt that one turn the opponent's Pokémon is still alive.
If MGengar is doing all 4 of these actions and you cannot cause sufficient damage to 1) kill gengar on the turn he Songs 2) kill gengar at the point there is a 50% chance you get a second attack on him 3) use a move on the pokemon he switches to that makes setting up to sweep 4) In the case of spamming sub instead of spamming protect the very fact you could have taunted him to prevent sub even if he were faster than you on the turn he songs (your opponent has to make a perfect prediction that you will either A) taunt him or B) attack him and either perish song or taunt that turn)... et cetera This is entirely situational, and an unlikely situation at that. Perish Mengar is not going to come in on something that can either kill or taunt it. And even if you bring in something that threatens it the turn when Gengar hasn't Mega Evolved yet, Mengar still has the freedom to switch out while you don't. This situation insults the intelligence of the opponent.
If MGengar has Sub, Taunt, Protect, Perish Song he must correctly taunt to block your taunt on turn one, then song on turn two - but you're forced to attack him now anyway so he does damage this turn. Again, Mengar is not coming in on something that will taunt or threaten it. Or, in the case of perish song on turn one and you taunt him, he can no longer protect/sub/taunt and has to switch out or take struggle damage on top of the damage you will cause him next turn... or you attack him when he perish songs anyway and receives that said damage... And really, if you have uturn/volt switch he can't stop you from switching out the turn he songs (and this forces him to switch out in 2 turns)... And really, if you have roar/whirlwind he also can't stop that, since protect no longer makes you immune... If you outspeed MGengar (like a Ninjask or something), you can also baton pass to a counter before he songs (or hell, after he songs, doesn't really make a difference).
There are numerous potential counter plays and your opponent needs to make perfect prediction in order to avoid them all. There is NO such thing as a counter since you can't switch out of Mengar. You can check it, at best. But even then, Mengar is simply going to say "bye" and bring in a counter to your check. Or, alternatively, if Mengar's job is done, it'll go down and the player won't care since Mengar most likely set up a sweep.
Really, if you analyze the actual set of circumstances that have to occur for a Perish Trap to work without the MGengar/his team suffering a debilitating amount of damage that negates the loss of your pokemon... you will come to the conclusion this discussion is overblown and full of theory; theory that can only be properly debunked at this point with a suspect test. This isn't theory. Remember, you only have ONE shot at bringing in a counter, and that's when Gengar hasn't Mega'd yet. And even that, Mengar is just going to switch out and come back at another opportunity. After that has happened, then what? Mengar is going to come out on a sitting duck and you can't do anything about it. Your entire argument is based on the theory that your opponent is stupid, won't be using Mengar correctly, and that the Perish set is the only set Mengar could possibly be running. What makes Mengar so formidable, and broken, is that it can tailor its sets to trap whatever is detrimental to your team to set up a sweep. And unlike other Pokémon, you can't do a thing about that once Gengar is Mega'd