Work on a copy of the document for safety..
Find (~F)([[:punct:]]) and change to $2$1
You might want to change that to (~F)([[:punct:]]+) in case there might be more than one punctuation mark (like a full stop and close quote).
Note that if you have multiple superscript note markers separated by a comma this is not going to help in those cases.
Thank you for those two suggestions. Alas neither seems to work. The second half of the expression finds punctuation marks, but the (~F) is not recognised. I had a lot of problems importing Word notes into ID and found a script that put them to the end of the chapter it also made the endnote marker into a plain superscript. So is there a GREP expression to 'Find any Superscript'? That and the second part of your expression might do the trick.
That's a lot more complicated to do since you don't have real footnote markers to find. The problem now is that you cannot search for superscript and non-superscript in the same query, and at the moment I can't think of a way to set up multiple queries to identify only those cases where the punctuation follows a footnote and not some other numb er, like a date, so I don't see a way to make change all safe.
Best I can offer is Find (\d+)([[:punct:]]+) and change to $2$1, but step through one at a time and use either Change and Find when you identify a note marker, or Find Next when you don't.