Let me start by saying that I'm not a general and so speculating on strategy and deployment changes that would improve the situation in Iraq aren't going to be useful. However, I do have some suggestions for things that may help our troops on the ground.
The first thing I would do is have every soldier who is or may end up serving in Iraq start learning Arabic and Iraqi culture. Our troops' main mission is to keep the peace in Iraq. If they all had a better understanding of Iraqi culture as well as the ability to understand and communicate with Iraqis, I believe our troops would be better accepted, less likely to be attacked, and would be able to better deal with their day to day duties.
I would also try to do something economically. I heard that Iraq has around 60% unemployment. People who can't find jobs tend to get depressed and frustrated and depressed and frustrated people are easier for militias and terrorists to influence. Hard-working, happy people tend to be supportive of their government and not tolerant of anti-government forces. We need the people of Iraq to be gainfully employed and supporting their families. I believe this would cut down on violence a lot better than just sending in more troops.
How does one go about creating more jobs? The country is in shambles and we're pouring billions into contractors to try to clean up. Well could we use locals? We could hire people to clean up streets, repair buildings, provide more security for markets, perhaps get some manufacturing going, etc. I think there is work enough to do, we just have to organize it and, at first, fund a good deal of it. Will it work? I would hope so and I think it's worth trying.
I think if we stop focusing on killing the bad people and start building up the good people, we'll see most of the problems start to take care of themselves. It's human nature.