Você poderia usar algo assim:
(defun my-flyspell-auto-correct-and-space ()
(interactive)
(flyspell-auto-correct-word) ;; Auto-correct the word at point
(when (not (or (looking-at " ") ;; If after the correction we are in the
(eolp))) ;; middle of the word, forward to the end
(forward-word)) ;; of the word.
(insert " ")) ;; insert a space
(global-set-key (kbd "SPC") 'my-flyspell-auto-correct-and-space)