It is worth mentioning that the Tutte embedding can produce good results for many of these graphs, e.g.
Graph[
GraphData[{"SierpinskiCarpet", 3}, "EdgeList"],
GraphLayout -> {"TutteEmbedding"},
VertexSize -> 1/2
]

But it only works for 3-connected graphs.
And the implementation in Mathematica does not always produce ideal results:
Graph[
GraphData[{"Apollonian", 5}, "EdgeList"],
GraphLayout -> "TutteEmbedding"
]

Graph[
GraphData[{"Fullerene", {60, 1}}, "EdgeList"],
GraphLayout -> "TutteEmbedding"
]
