I have used something in my upper-level English classes that has worked very well. It's called Daily Grammar Practice, and is a program written by Dawn Burnette. I first discovered this at an NCTE convention in Nashville a few years ago.
Basically, you have one sentence a week and each day you do something different with it, though I changed the order a bit.
On Monday, you correct capitalization and punctuation. This seems pretty easy, but you'd be surprised at how many errors students don't catch. Tuesday is parts of speech. Every word in the sentence is labeled. Wednesday is labeling sentence parts and phrases. Thursday is picking out clauses and sentence types. Friday is diagramming, but I choose not to do this.
There are very good, detailed notes pages for each of these days that students are able to use while they complete the corrections/labeling.
Students may get tired of doing this, but it cements the information into their brains better than a two-week grammar unit would. After 12 weeks of this, they become very good at it. And I have to say, it has improved my grammar skills tremendously.