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 それがしない.)