I would repeat the texture at different scales. Like, when you are applying the texture in the shader, use IN.UV (or whatever you have), and IN.UV*2, IN.UV*4, and IN.UV *8
That would help break up the repeating nature but keep it consistent as well, the colours would match and the texture would be repeatable. You could balance things so that the standard resolution is strongest, rather than just averaging it out... like in pseudo code...
dif = texture(1,IN.UV)*0.4f;
dif += texture(1,IN.UV * 2)*0.3f;
dif += texture(1,IN.UV * 4)*0.2f;
dif += texture(1,IN.UV * 8)*0.1f;
It will make the terrain shader a little slower, but it should really break up the repeats so it might be worth it.
You know, I happened across an idea the other day, working on a terrain in DBPro, and there are 2 issues that this idea deals with. On terrains, you can typically calculate the slopes and apply textures that way, with no user input but a fairly basic and limited texture distribution. Another option is to use a mask image, where red, green, blue, and alpha represent different textures, and this image could be calculated automatically or allow users to paint textures. My idea is to hijack the alpha layer on each texture, and use that as a mask for the whole terrain. So the higher the texture resolution, the better the terrain paint resolution. This means that you wouldn't be limited to just 4 0r 5 detail textures, a terrain could use all 8, no need for a mask image, as the mask would be represented in the alpha transparency layer. So, by using the alpha component of each terrain texture, you could have 8 different textures, and having mud, muddy grass, and grass textures would mean your terrains could look a lot more organic and less 'repeaty'. I know you said you couldn't add more textures, and I get the impression that these are levels from GameGuru so you might not have full control over this stuff - but just pointing this out. I have used the alpha layer on textures to hold a height map for cheap relief mapping as well, now that IS effective on terrains - we should find uses for any free image channels I think, especially when you only have 8 to play with.
The code is dark and full of errors