Probably an over sight based on my lack of sleep, but is there a way for CScatter to tile the instances instead of randomly placing them? Thus lowering the number of instances I'd need to effectively cover an entire plane with grass.
Unfortunately not. CoronaScatter is (at least for now) only very basic. For such thing, you will need some commercial plugin, such as Multiscatter or ForestPack. But as i said, instancing in Corona is quite efficient, so as long as it is not too dense (like dozens of grass patches overlapping at each given point) then slight overlaps are not a problem performance-wise, and grass will look overall bit more realistic.
I recommend varying scale from 70 to 130%, and varying rotation from -180 to 180 degrees in Z axis, and -5 to 5 degrees in X and Y axes :)
Oh, and be sure to set viewport display count or whatever it's called to 1%, or even less, otherwise you will bring viewport to crawl. I have no idea why there's 100% by default O_o