Det finns inget sätt att göra detta med hjälp av MySQL:s fulltextsökning. Det du gör (ersätter specialtecken med en fördefinierad sträng) är det enda sättet att göra det.
Du kanske vill överväga att använda Sphinx Search istället. Den stöder tydligen escapende specialtecken och är enligt alla rapporter betydligt snabbare än standardfulltextsökningen.