Instead of trying to re-order the columns and rows, I would suggest trying to find some other way to visualize the data.
Here's one possible alternative suggestion. You could cluster the classes, say into ~ 20 clusters, where each cluster has ~ 20 classes in it, using some kind of clustering algorithm that puts similar classes together into the same cluster (e.g., if two classes are frequently confused with each other, they should be more likely to be in the same cluster). Then you can show a coarse-grained confusion matrix, with one row/column per cluster; the cell at $(i,j)$ shows how often an instance of some class in cluster $i$ is predicted to have some class in cluster $j$. Also, you can have ~ 20 fine-grained confusion matrices: for each cluster, you can show the confusion matrix of classes, for the ~ 20 classes in each cluster. Of course, you could also extend this by using hierarchical clustering and have confusion matrices at multiple granularities.
There may be other possible visualization strategies as well.
As a general philosophical point: it might also help to clarify your goals (what you want to get out of the visualization). You can distinguish two kinds of uses of visualization:
Exploratory analysis: You're not sure what you're looking for; you just want a visualization that might help you look for interesting patterns or artifacts in the data.
Figures with a message: You have a particular message you want the reader to take away, and you want to devise a visualization that helps support that message or provide evidence for the message.
It might help you to know which you're trying to aim for, and then devise a visualization aimed at that:
If you're doing exploratory analysis, rather than trying to pick one perfect visualization, it's often helpful to try creating as many visualizations as you can think of. Don't worry about whether any of them are perfect; it's OK if each one is flawed, as each might give you a potentially different perspective on the data (it will probably be good in some ways and bad in others).
If you have a particular message you're trying to convey or a theme you're trying to develop, look for a visualization that supports that theme. It's hard to make a specific suggestion without knowing what that theme/message might be.