So my suggestion is simply to limit the free chips to 2500 per day instead of 2500 whenever someone gets to under 500. If this is too little maybe limit it to 5K total per day or thereabouts, which would be 12.5 full buyins at the lowest stakes (1/2 at 400 max buyin).
My reasoning is twofold. Firstly it would make the chips more valuable (meaningful) to those receiving them, making the games more fun/rewarding and encouraging better play. Secondly it would minimize annoyance from people sick of others just going all in every hand then getting more chips indefinitely.
As a bonus the newest and weakest players also tend to be the most rude (certainly this way in chess, in poker too I assume though I have a much smaller data set with poker), and such a limit would limit the annoyance from their bad behavior at the tables as well.