I was also getting very frustrated by the lack of fouls by CPU teams and still think it should be higher but found a way to make more of them occur. You have to be sure to change direction when they are coming in for a tackle so that they hit you more from the side or behind instead of from the front. A quick change in direction can draw several fouls a game. I still get called for many more than the CPU but this has helped a bit.
Like was also mentioned, it seems like some games have a certain predetermined way things are going to go. You might not always lose but every few games I get one where telling my players to go on a run just sees them jog slowly forward instead of actually sprinting, every header will fly way over the goal, and my players will go offside 3-4 times in one match. This is usually coupled with errant passes, players not taking possession of a ball right in front of them, and the CPU getting every ball that is knocked away. I had a series of FIVE tackles in a row where I knocked the ball away without a foul and it just shot over to another opposing player. And I mean literally in a row...like within 15 seconds. It's just lame.
I think if they allowed for a little more erratic play in EVERY game it would add some realism without you feeling cheated. I hate how I can play 5 games where everything goes smoothly (win or lose) then have 5 games where I can't get my players to do anything even if they are in good condition.
Also, for whoever mentioned the slide tackles, timing is key. If the opposing player has the ball at his feet then you have a higher chance of getting called for a foul as attempting the tackle will shoot you towards his feet because that's where the ball is. I try to run along side the CPU just a bit ahead of him and wait for him to sprint so the ball has to come out in front of him more. Try sliding in front of him and you'll be more successful because your player goes for the ball, not his feet. I've only recently started using the slide tackle a lot and this method has been pretty successful. Of course I still miss the timing sometimes and end up with yellow cards here and there but nothing too drastic.