As you note, for a bipartite graph you get either the bipartition or the trivial partition (according as the number of spanning trees is even or odd). Any edge whose removal (keeping its endpoints) disconnects the graph must be in every spanning tree. So its two ends will be in the same or opposite parts of the partition according as the total number of spanning trees is even or odd. So we may delete all these edges since the number of spanning trees for the given graph will be the same as the number of maximal spanning forests of the reduced graph.  The reduced graph has one or more connected components each without degree one vertices or bridges. Each of these components is either two connected or  has  one or more cutpoints separating it into maximal 2 connected components. If any of those 2 connected components has an even number of spanning trees then the  reduced graph gets the trivial partition. 


I think it might be more interesting to have each spanning tree vote if each pair of vertices are "the same" or "opposite" (so "neutral" is a possible outcome)