There needs to be a better algorithm for deck generation at the beginning of a match. How many times I have played and in the first 10 cards I get one of the same three every draw. In a real game with a set deck size this should be practically impossible. I can see getting two of the same card, two of the same card for two different cards, maybe even three of the same card every once in a while, but getting three of one card then two of the same 3 cards one after another seems like it should be hardly possible. This makes me think that the deck is generated completely randomly from the 10 cards which are in your deck or the deck size is some ridiculous number like 100 cards per deck.
I would suggest building an algorithm based on a specific deck size then calculating an even distribution of cards through that deck. For example:
You have 10 cards in your deck and you can have 4 of each card in your deck = maximum deck size of 40.
You chance for drawing a specific card should be 1/10.
After a card is drawn, say card A, there are only three of those cards left in your deck of 39. Your chance of drawing that card is now 1/13.
Now you draw card B, there are only three of those cards left in your deck of 38. Your chance of drawing that card is now 1/12.6.
Now you draw card A again, there are only two of those cards left in your deck of 37. Your chance of drawing that card is now 1/18.5.