You could make a billow PF with rather small scales, say 0.2 5 0.01, with some displacement like 0.2 and feed that into a small (0.1-0.2 or so) fake stone with a patched distribution, as well as into the input of that stone. No colors in stone. Add that to the ground, and you should have some rough ground with some displaced rough stones.
For muddy ground I'd take a pf, not too rough and use the unclamped colors to displace ground (so feed into displacement shader) and also use as inverse mask for some reflection; so you have reflection only in depressed areas. You may have to clamp the mask output or you get funny colors in the masks, though it won't influence the mask afaik.
Also use the track lines to add reflection in the tracks, you can simply use an 'add' blue node with the pf that does the highs and lows, but invert the output of the high/low pf first (so lows are white, and tracks are white, so you get reflection in tracks and lows. Etc.
You can do all this without any compute terrain, so dump all, and just add some surface shaders after the base colors where you put stuff.