There is something I do to almost always get a spot in the games:
Check the list of servers by clicking the "Servers" tab left of the forums tab.
From there, instead of trying to get into a lobby, try adding one of the servers that is in deathmatch (If any, you might have to wait.) to your Minecraft server list.
Next, attempt to join it. If it won't let you join because it's in deathmatch, then you're good. If it says it's full, then it's already in lobby (Which is unlikely, but it happens.)
Now watch it in your Minecraft server list, refreshing every 10-15 seconds or so. When you see the player count start increasing, it's about to go down. Once it's down, keep refreshing every time you get "can't reach server" until it says the player count is 0/24 players.
*Warning* Don't refresh too often, especially with a slow connection to the internet. You might get a "communication error" which will keep occurring until you stop refreshing for about 5 seconds. If you refresh before those 5 seconds or so have gone, it will just keep giving you the error. This can and will lock you out of the server until it's full if you aren't careful/patient. (A side note: Sometimes, when refreshing the server list while it's down, you will get a communication error anyway. If you do and you know you didn't click refresh again too fast, then just treat it like it said "can't reach server" and continue refreshing at about the same speed as before and you shouldn't have problems.)
Double click it, or click it then click join server, and you should have gotten in.
Why is this helpful at all to stop people kicking you? Well, donators kick the last non-donator spectator that joined the game. That means that as long as you weren't the last person to join, you shouldn't get kicked. I usually can get into a lobby within a few minutes and then it's just the 5 minute lobby time. It hardly ever takes me more than 10 minutes to get into a game.
I am unaware of how well this works for people with bad internet, but it almost always works for me. I usually am like the 5th person in.
Even with this though, I highly suggest donating if you can. Being able to instantly get into a game can save you hours of time you might have spent doing this and supports the servers.