This is interesting. One thing we discovered with Maple, which I think is known by others, is that when degree drops occur in the modular computations, you can stop F4 and output the new polynomials that have lower than expected degree, together with a flag saying the computation is incomplete. An outer loop computing over Q can focus on reconstructing those polynomials, which also tend to be small, before restarting with them in the generating set. This strategy was effective for cyclic-n, however, we found other systems where the degree fluctuates rapidly over hundreds of steps.