Hey man! I know it's a long time since you posted this, but anyways...
This is a common issue for new programmers in any platform and in Construct it wouldn't be different, so I think it's worth the advice:
If you're managing Health on players/enemies/cars/whatever, you normally (not always but normally) don't want the health points go below zero. It almost always cause a bug somewhere, with logic or HUD. A good habit to have is to always make those process of adding or subtracting health into a function. Like, a function called "DamagePlayer" that reduces an X amount of life from the player based on the parameter you send. In this function you can make the calculation like "if player's health is below zero, set it to zero". It does takes a bit more time, but it's really simple to do. So, in your case, whenever a bullet hit a player you'd call this function with the bullet's damage value as a parameter. You could add an N amount of different bullets and it'd still be setting the life to zero properly, avoiding this kind of error that can be a pain in the *ss to fix on later states of development.