Yes and no.
HP_gain is found in a far more simple way.
100 - Total_Base_health = HP_Gain.
You've written the same thing without the part that converts the base hp into a integer percentage. You've just assumed a percentage would be readily available, which it wouldn't.
Thing is, You can never have only 1 building that makes up the entire base without meaning you have lost the game.
The point of highlighting the 1 building case was to show the point at which your system is MOST effective. As you can see in the single 100hp building case, with no scaling factor the building heals to max on every single heal. The more buildings you have, the less each will affect the healing rate when damaged and the easier it will be for the aliens to overcome each in an attack. But you clearly understand how important the small base case is as you yourself pointed out, every base comes to it when it's going down.
Does the dc include it's own hp and the reactors hp in the total base hp and thus can you can even have a single building case? If so similar things can be said for small bases but the effect will be diminished.
And you would need a heal delay, but only for REALLY small bases.
Why make a special case for small bases? That just overcomplicates it. Delays already occur with alien healing and it's intuitive that the DC would have to assess damage and wait for it to stop before it can set about repairs.
What was the point in having it work like this anyway? If you want the base to support itself part of the way but still require repairs for max hp then why not explicitly implement that?
this means humans could loose their offensive capability without completely loosing their defensive capability, but to do that they must defend a weak, expensive structure with their weak weapons (assuming that they lost arm, and even then it is still a easy kill).
thus meaning aliens have to use a bit more tactics, instead of just overwhelming the base and/or wearing it down.
I don't feel like you've answered my question. Why does it need to behave in this very specific way? If you want it to be stronger when it's smaller then you can just calculate healing directly from base size. Why do you need to include information about damage?
I can see how having a healing structure at all can enrich tactical gameplay, but I don't think this particular system does anything to make the game interesting, just more arbitrarily complicated.
EDIT:
Here. I've created a nice little excel simulation of the system which allows you to act on a single building, damaging or healing it from whatever hp you like to whatever extent you like and see what happens. Only change the values in the coloured boxes, unless you know what you're doing.
You'll notice that in some cases, changing the time of attack slightly can severely change the time of destruction (as shown in the following image).

RE-EDIT:
Updated simulation adding rounding to the HP. Try changing the
3 under "Time of First Hit" to a
4. It goes from taking 192 ticks to 130 ticks with only a tick difference between the start of attack.