The best solution is if a person withdraws from a queue, the queue does not break up the whole group and instead finds a replacement for those who timed out. Those who clicked "confirm" would not have to click it again, they would just stay with the confirmation window up. The game would only break up an existing group of people who already clicked "confirm" if it could not find an immediate replacement. Anyone who withdrew would store a list of groups they recently withdrew from and that person would not be added back into any of those same groups.
But that's more work, so it's better to identify where this was a problem. The only places I saw this were CT/ST, expert, and low level. A common theme between all 3 are that the rewards are heavily stacked at the end of the dungeon, this causes people to fish for in progress in those particular dungeons. There are a number of ways to deal with this sort of thing. One option is to just give them what they want and get them away from everyone else by adding in progress only. This way all the in progress fishers will be removed from your queues forever and will never effect you. There is concern that this would add to the queue times because all the tanks or healers would only queue for in progress. But if all the tanks and healers queue for in progress, then they're going to have to wait a long time because there's only so many in progress dungeons that will be available. They might as well just do the dungeon normally since it will be faster as they already have near instant queues. You'll also probably get more people participating due to the in progress option. Some people won't do certain content at all because the rewards are not worth the time invested (low level comes to mind), but you will likely get more tanks and healers looking for "easy" queues which will increase competition. The result is likely a negligible effect on queues in exchange for a flexible system that lets people do what they want.
You could also obscure the in progress value in the same way that CT/ST does by only displaying 0/1 no matter what the actual progress is. A problem that exists is it can be difficult to fill 0/3 in progress dungeons. You're risking joining in progress on a likely dysfunctional group that hasn't made any progress. Those fishing for in progress are looking for 2/3 or 1/3, this would prevent allowing the in progress fishers from being able to fish for those specific dungeons. This prevents that while helping 0/3 groups that need some help. If in progress only was added, I think this should also be added.
Or you could just not display the fact that a dungeon is in progress at all. Although, I would caution against this. Sometimes people will ask their FC/linkshell for help with an in progress dungeon. It's nice to be able to identify that the queue that pops up is actually in progress so you can help those who you want to help. I know some want to be able to invite friends directly to help in progress runs, but I think that's ripe for abuse (voting out your current dungeon group members because you want to invite your friends). So it's nice to have some way to link those who need help with those who want to help without the direct invite option, and I think this accomplishes that.
Even with the above you can still have people trolling the queue because they have nothing better to do. But a shorter withdraw penalty (5-15min) with a shorter reset period (1-3 hrs) would curb most trollish behavior. For the most dedicated trolls it should be easy for SE to identify people who are *constantly* withdrawing and have a GM check their behavior to put them in timeout. This is also a good idea even if you add some way of directly curbing the practice of fishing.
And lets face it, the primary offender here was CT/ST. While other categories can be subject to in progress fishing, the number of people in CT/ST can mean that players even withdrawing for "legitimate" reasons can cause a number of resets for some people. So it would be better to limit the existing 3/day > 30min penalty to just CT/ST to specifically target *that* problem. Someone who got a strike from going to the bathroom during a particularly lengthy guildhest queue (where the queue estimates are often innacurate) doesn't deserve the strike as much as someone who withdraws from an ST queue after a 30sec wait. The system and its punishments should reflect that, it currently doesn't.
Or just break up the penalty enforcement by category. Trials, 24 man raids, pvp, low/high/expert dungeons, that sort of thing. Again, it was particular categories that were problematic. Withdrawing from ST 3x within a day causes you to be locked out of ST/CT for 30min.
Finally, even WITH the current system, the group penalty should only be inflicted on the individual who withdraws. Group trolling is a made up issue. Punishing people to prevent a problem that doesn't exist is stupid. Ready checks only work when the queue starts. Sure everything works fine if the queue is instant after the ready check, but that's not always the case (had to wait 15min to help out someone do Ramuh HM for story with a partial group that had 2 tanks, for instance). Being punished for the mistakes of others is a bad idea that's only going to lead to more animosity between players and this game does NOT need that.