No hay forma de hacer esto usando la búsqueda de texto completo de MySQL. Lo que estás haciendo (sustituir caracteres especiales con una cadena predefinida) es la única forma de hacerlo.
Es posible que desee considerar el uso de Sphinx Search en cambio. Aparentemente admite caracteres especiales de escape y, según todos los informes, es significativamente más rápido que la búsqueda de texto completo predeterminada.