getHealthGauge()!=null is better because target could be if its talking/trading etc.
Also sometimes the npc will be stuck behind a wall and not actually in combat, but will have a target.
It depends on the specific use case, but generally this method is more reliable for standard combat scripts.