Games of skill are incredibly hard to balance against human players of vastly different abilities; without proper care the CPU player suffers vast losses which are enough to put it out of business and with it, the game itself.
This is something I acknowledge and respect; my suggestion is in fact to add
free play against the CPU at different skill levels, with the option to enable/disable/customize handicap.
The problem with the handicap system is, when it gets high enough, it really doesn't matter how much the CPU (or the other player) is skilled; you're just going to lose anyway. A "very easy" CPU with high handicap is much, much tougher than any "expert" CPU with 0 handicap. So though, in fact, that once it gets above a certain level you can't possibly win (and if you manage to win anyway, it only gets higher). But you can't play with a more skilled CPU unless you put some money into it... and then, even if you win, the same thing repeats again: once you beat a level 4-5 times, handicap gets high enough to make the game unwinnable. You
can lose on purpose to lower your handicap, but this actually means throwing money away, because you can't do it for free, and losing at a lower skill level doesn't influence a higher one. The end result is, after a few rounds of playing at each level, you're stuck and simply can't play anymore. Your only option is finding a human player willing to play for free, or risking money against an opponent which might very well defeat you (again, very often because of handicap, if you have a higher score than him). At least, with human players you can enable/disable handicap. With CPU you can't even do that.
Free play against the CPU shouldn't of course influence your score; or you could keep two separate scores for stakes and free games. But this really is a much needed feature if you want players to stay after a few games at "very easy" level.
You said you're concerned about bots; a simple CAPTCHA is enough to stop them. BTW, why should you be concerned about bots playing for free... but not about them playing for money? You are not actually risking anything when people play for free. If you are concerned about people TESTING bots using free games and then using them to win stakes games... well, it would actually be a lot easier for a hypothetical bot writer to test his bot
himself instead of using your live site
Howewer, again: CAPTCHA.