A solo-run is essentially a version of the game where you invent your own rules to follow. Therefore, if you decide that having HM Slaves is perfectly legal, then that is just another rule you have imposed. Of course, in a game like FireRed, where you absolutely need certain HMs to proceed, most people would agree that HM Slaves are really the only way to get through the game in a solo run.
Even if the Pokemon you are using is a Mew, you will not want its moveset to be Cut, Flash, Surf, and Strength. That is boring and not fun, even if you can technically get through the game only using that Mew.
So in other words, I would definitely recommend using HM Slaves in your solo run. However, they should not battle - that kind of defeats the point of a solo run.