I am currently working on an implementation of a 2 player trick-and-draw card game, similar to 66 or Schnapsen. Basically, you need to gather points by winning tricks and while there are cards in the pack, both players draw a card after each round.

I am at the point of programming a good AI for the game that does not cheat, but really calculates the best moves by using only the information it has at the given game state. I am stuck deciding which algorithm or logic would be the best to use. I decided against algorithms like Alpha-Beta pruning because there is too much-hidden information especially at the beginning of the game. I read many interesting things about the Monte Carlo Tree Search and the related UCT search, but because the game has stochastic elements, the tree needed to be searched would grow huge in a short time.

Which algorithm or approach would be the best to use?