Here is my trick:
Working on Art.lantis (wouldn't dream to do renderings with ArchiCAD, but maybe it is possible to do this with the 9.0 rendering engine), I attribute a "marble" texture from the library to the grass mesh.
This marble texture has the advantage of being a procedural texture. Well, I really don't know if it is a procedural texture (pattern generated by the computer, not a bitmap), but it seems to work ok
This texture can be altered, like more or less waves, colors, etc.
Over this texture I put a bitmap, which is a photo I took directly from a lawn, no tiling, no hassel. This Bitmap is turned about half transparent.
Tis way, the procedural map underneath masks the lack of tiling, and gives the surface a not homogenous look.
If you want to improve on this, you use a big texture file (see example).
This way, you can have nice closeups.
Better still is bumpmapping it slightly, but this makes rendering slower.
better still is using more than one picture, of different grasses, with different sizes and orientations.
But the most important part is to use a Procedural map underneath.
I have done this with a number of materials (earth, water, even walls) and it usually works.
Ah, and it is fast