I think the rule should be that you have to notify the player before the end of the spring semester, to give them all summer to look for another home.
Cutting a player in August or offering him the medical hardship or nothing route just screws the player out of a chance to play.
You should have to set your fall roster in terms of returning players by some date in May. Then, that would limit the number of players you can bring in for a particular class. If you want to bring in 25, you have to have room for 25 when the May deadline rolls around.
ETA: As I said a few days ago, if you want to get rid of cutting practices altogether, then extend the eligibility clock to 5 full years for every player and limit each team to enrolling only 17 players per year. That's about the only way I see to keep coaches from cutting players. Of course, it would cut down on the discipline. It would take a lot to get kicked off the team if every player you kicked off put you one under the 85 limit. Also, you'd have to allow for transfers to not count against the incoming 17, so that teams that lose a player could have room to take one in without affecting future classes.