You don't get punished by Leaverbuster for a single leave. You get punished when you have shown a habit of leaving/disconnecting from multiple games, no matter the reason. The fact that you have a 20 minute wait time shows that you have left/disconnected from a lot of games in the past, as that is not the first punishment given out by Leaverbuster. If you have left enough games to get punished, there is always something that you could have done to prevent the punishment.
If you're leaving because you have a shitty internet, then you need to get a better internet before queuing up for more matches. I know it sucks, but that's just the way it is. Whenever you queue up for a match, you are making a commitment to 9 other players that you will play through that entire match, and it's up to you, not Riot, to make sure that you have a stable enough connection to be able to last through an entire match without getting disconnected. If you queue up for matches knowing full well that you have a shitty internet, you're running the risk of of ruining the game for 9 other players, and that's entirely your fault.