This is more of an abstract/creative problem. I think everyone who has played around with GraphPlot, ended up with an image that looks like this, at least once in their life:

I am looking for general solutions to convert many connections -> many connections into something that's human understandable.
Here's my code above:
d = DictionaryLookup[RegularExpression["[a-z]{1,5}"]];
d = Take[d, 1000];
g = {};
Do[Do[If[Abs[StringLength[d[[i]]] - StringLength[d[[j]]]] > 1,
Continue[]];
If[EditDistance[d[[i]], d[[j]]] == 1,
AppendTo[g, d[[i]] -> d[[j]]];
AppendTo[g, d[[j]] -> d[[i]]]], {j, i + 1, Length[d]}], {i, 1,
Length[d]}]
Needs["GraphUtilities`"]
s = StrongComponents[g];
sc = Last[SortBy[s, Length]];
gc = Select[g, MemberQ[sc, #[[1]]] &];
GraphPlot[gc,
EdgeRenderingFunction -> ({Orange, Arrowheads[Small],
Arrow[#1, .07]} &)]
I would love something like this, where strongly connected nodes are grouped into single pie-chart vertices which represent the # of node connections over total connections.



