there really isn't...
The best that you can do, outside of the 'keep together' is to count rows and to force page breaks yourself.
This can be tricky as CR doesn't report back where it is printing on the page (hence counting) but how much room is used per row and how much is consumed between groups can be a pain to keep track of (though not impossible, but maintanence :( ... )
If any items display as multiple rows, well, you never know where CR is going to break the line, so 50 characters may break in instance and not in another due to font size/variable width, and CR not reporting if a row is 1 line tall or 2 (or more)
The code is not particularly pretty and the results may not always work as desired (though probably too many pages than not enough).
So the short, it can be done, but I would rather use the 'keep together' if at all possible.