This has been available in speakup for ages unless it's been taken out. There's a setting that turns off keyboard interruption of speech. Set /sys/module/speakup/parameters/no_interrupt to 1 (instead of 0) and see if that doesn't do what you want.