This sucks, but I believe it's not that easy to fix. Even big titles like Overwatch have this same issue. Many people leave the server when they are going to lose, leaving an empty slot in the server for you to join. The game can't know if the match is about to end. There can be a comeback. Who knows.
Perfect solutions probably don't exist but those sound like a good alternative:
- TDM: if killcount is close to 150 (say 75% of killcount is already done on either side) or, say... only 20% of time left, skip server from matchmaking.
- COOP: if X points are taken, skip from matchmaking (i know all can be killed and restart, but then matchmaking should reset the flag and get them back to available servers later anyway)
- COMP: I think it only allows you to join if you previously quit, so no changes here needed, I guess?