My idea is the ant colony algorithm . I am inspired by your approach to choosing two random nodes, but I thought it would be useful to do something more, and not just calculate the shortest path.
Run n ants at n random nodes. You will need to configure n by trial and error. Ants leave pheromone at the edges passed. Pheromone evaporates in time. Ants choose one of the various ribs to move according to probability. The more pheromones an edge has, the more likely it is that ant will select that edge.
At the beginning, ants move completely randomly, since pheromones and ribs do not have the same probability. However, over time, the most popular ribs, bridges between two "fuzzy connected" components will have more and more pheromones on them.
So, you throw n ants, simulate for m turns and return the edges with the most pheromones on them. You can visualize this process to clearly see what is happening.
Update: I realized that the sentence "However, over time, the most popular ribs, bridges between two" fuzzy connected "components will have more and more pheromones on them." I implemented it, and it looks like most time bridges do not necessarily attract ants:

There were n = 1000 ants and m = 1000 steps. Initially, each rib had 1 unit of pheromone, and it increased by 1 if ant traveled along it. No evaporation, however, I think this will not improve the situation. The bridge had 49,845 pheromone units, but there were three more edges that had more than 100 thousand.
As suggested by Peter de Rivaz in a comment, I tried ( source code ) by repeating min-cut between two random nodes, and this is much better:

Graphs created using the python-igraph library .