Playing the second Azalina there while he knew that hunterace will have less big threats in his hand was not the best play there. He discarded/threw away his own big threats while maybe hoping that hunterace had topdecked hagatha so he could get it too. But that is the only reasonable gamble there and even then it was completely unnecessary.
Viper should have exhausted his own resources first (for opponent's Hex targets, and so on) and then refill with Azalina on empty hand, getting maximum value for second azalina, instead of throwing away huge value of his own. He also knew that hunterace still has one Hex, etc. while playing 2nd azalina and throwing away his own potential Hex/removal targets. This also leaves Viper with less breathing space and possibilities later on, as he could have known to be the case.
TL;DR, I see absolutely no reason for Viper to play Azalina there. (With his knowledge of what cards Hunterace has already played, and what cards he still has in his hand+deck)..
Ok lets say he does your play. 21 damage is on board after killing annoy o tron. He has 21 health. Your play was to give lethal on board to the opponent?
I definitely think viper made misplays. But judging by your post you have no clue what you're talking about.