Change your hex grid to the alternate orientation (straight rows instead of columns), essentially rotating it by 90 degrees.
Edit your images in an image editor and rotate them all 90 degrees (plus or minus any multiple of 60, but 90 or 270 will give the “cleanest” final image).
Change your Can Rotate traits to allow for 12 facings instead of 6. It is possible to then do some Trigger Action trickery to automatically rotate to an odd facing when the piece is on an even facing; we can help you figure that out if you want to go that route, but this solution is the most error-prone and difficult to set up.
Options one and two are probably not the way I would prefer to go. The graphics for all the counters and the maps are set and it would be a big PITA to change either (changing illustrations and diagrams in the rules etc.).
I understand your warnings in option 3. However is there a way to have the piece ‘snap’ to north when it is placed on the map?
Thinking further I could just rotate the maps 90 degrees in Vassal (leaving any text and the compass rose as is and have ‘north’ face to the right or left).
One other thing you could do is go to 12 facing rotation that would allow you to get your counters to face the way you want then use a command to rotate at 6 facings to keep it lined up properly.