Não há como fazer isso usando a pesquisa de texto completo do MySQL. O que você está fazendo (substituindo caracteres especiais por uma string predefinida) é a única maneira de fazer isso.
Você pode considerar usar a Pesquisa Sphinx em vez de. Aparentemente, ele suporta caracteres especiais de escape e, em todos os relatórios, é significativamente mais rápido que a pesquisa de texto completo padrão.