In general, if the alternative tools use the same CLI options (at least for Emacs' purposes) and produce the same output format as the original tools, there would be no reason why you couldn't swap out one for the other in the elisp code (or, quite likely, set a variable for the location of that original program to instead point to the alternative).
If those things are not true, it may be necessary to support them explicitly in the lisp code.