I hate making seating charts. But, I love spreadsheets. So, I made one that assigns random numbers to students, ranks them, and puts them in seats.
I have my desks numbered and grouped into fours. I also used different color sticky notes to write the numbers on the desks.
When I (or the students) get tired of their current seats, all I have to do is type something into the spreadsheet, and new seats will be generated. I do make sure I print the chart to pdf so that I can refer to it, or leave it for a sub.