Hallo EKKi!
foo = foo.replace(/(\S+)"/gi, '$1 "');
Die Modifizierer »g« und »i« sind überflüssig.
Der g-Modifizierer steht übrigens auch im Widerspruch, zu deinen Annahmen, ...
Ist das erste Zeichen IMMER ein Anführungszeichen(")?
Kommt nur EIN weiteres Anführungszeichen (") vor?
... denn diese besagen ja, dass es höchstens einen Treffer geben kann.
Gruß Uwe