One thing that I see among some Gym leaders and even some elite members doing is just logging off and waiting for their time to nearly expire and then quick join to save their position. This bothers me since why do you want the position anyways if you don't wanna do the work and accept challangers? I think I have a few ideas on how to handle this.
1. restrict the wait time - instead of having it be 3 days, make so that they have to log on at least once a day.
2. add a minimun stay time - make it so that you have to stay on for so many minutes before it counts you as active. 10, 15 20, or even 30 mintues if you want. just long enough so a challenger can get through the gym while the leader is on.
3. time requirement - if 1 and 2 don't sound good, try this one. how about the leaders and elites have to have a total play time of at least x minutes within every 3 day period to keep their position. for example. let's say that the leader has to stay on for at least 1 hour every 3 days. they could stay on 20 minutes a day, short 5 minutes bursts over the days, or even the whole hour in one sitting. this makes it show that they are active and willing.
If any of these are possible, consider giving then a thought. (The away excuse form should still be included)