Probs not. They can easily do what DICE do for Battlefield 3 and that is run the servers themselfs rather than have ingame hosts. That means the better your host is the less lag you'll have rather than going off someone elses host who probably doesn't have a router/modern that is capable to have up to 18 people connect to it. Thats the solution but it costs money and that is why they won't do it.
I do not have any of these lag issues people are complaining about. Sure every now and then the game lags for a couple seconds, and on the rare occasion I lag out of a game but its nothing more than what's expected from online gaming.
Every online game I have played has lag from time to time. Halo, Gears, or whatever game you play will have some lag at times.
Gears also has a far smaller playerbase. BF3 is a PC game, their dedicated servers for xbox failed miserably and were scrapped by January. They outsourced them and saw a dramatic dropoff in their console playerbase as well. The amount of money it would cost to host enough servers for the COD playerbase is astronomical and makes absolutely no business sense for a series that sees 1 game a year. Its not greed, its economics. Easy economics at that.