(Oops, I had been meaning to write this a long time ago but didn't get around to do it.)
Some time ago I suggested that one may use Vivaldi coordinates (https://en.wikipedia.org/wiki/Vivaldi_coordinates) with Kendall tau distance to sort voters into different "camps" based only on the voters' rankings.
But the principal value of Vivaldi is that it's distributed, and there's no reason to use it if you're not going to do something distributed. There's a whole class of algorithms that try to solve this problem, which is called nonlinear dimensionality reduction.
One example would be multidimensional scaling, https://en.wikipedia.org/wiki/Multidimensional_scaling; the Wikipedia page even has an example graph with voting patterns in the House of Representatives, showing that it can be used for voting analysis.
Other examples include isomap and t-SNE. Either of these would probably be better than using Vivaldi :-)
The Wikipedia page on nonlinear dimensionality reduction lists a number of other approaches: https://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction#Important_c... and https://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction#Methods_bas....
-km