Attaching big bonuses for holding a Gym longer than a period of time, say, a week, would be far easier for places with lower population densities. In urban/big city areas, Gyms last minutes at most, with near impossibility to even level a Gym past 4 or 5 because opposing players will beat it down before you even get to level it enough. Even if a team decides to level a Gym up during hours with low activity, a level 8+ Gym can be taken down within hours of the day... minutes if a group tackles the Gym together.
The highest level Gym I was part of was level 8, and this was about two months ago when few people had Pokémon higher than CP2000. Meanwhile the majority of Pokémon was in that range yet the Gym was trampled in about half an hour. Yesterday evening, on my way back from work, I took down a level 4 Gym by myself using a single CP3000 Dragonite. I then planted a CP2800 Dragonite there and the Gym ended up with a CP2300 Vaporeon as its lowest Pokémon, followed by a CP2400 Snorlax, a CP2400 Exeggutor, my Dragonite, and a CP3100 Dragonite as the leader. Guess how long that Gym lasted before it was taken out?
15 minutes. I wasn't even able to get on my train yet.
The only solution I can think of would be to balance how fast a Gym can be leveled up in comparison to how fast it can be taken down in the current game. Taking down a Gym is by far the easiest process between the two. I can't count how many times I solo level 7+ Gyms in the suburbs. It's just a matter of having stronger Pokémon and a little bit of patience to stomp your way through.