To alleviate the rotation problem, if there is at least a 6 day gap between official matches, then I always setup a friendly against weaker team. I setup the match to be on the 3rd day after last official match, then my guys get full 3 days to rest/train.
Also, when my guys are in great form I will setup a friendly with just a 5 day gap. First 2 days for rest/train, match, then 2 days for rest/train until the next official one.
I still get some complaints from the star players, but that can't be avoided. When you have a large squad(over the max number of registrations) just try to rotate in the stars on friendlies, for at least the last 30 minutes.