According to Cure Dolly's guide,~ない is an adjective/auxiliary adjective used for describing state of non-existence/not doing. When we use an adjective, we have to use が because a subject state is being described. We use a verb whenever we describing a state when something exist or being done:
And an adjective when something does not exist or not being done:
For example, when auxiliary ~たい is used, we're using が, because a verb becomes an adjective.
Why don't we use が with negatives while they're in fact adjectives too?
それをしない。(Never heard of それがしない.)