I would suggest you to experiment with different ways to make the player jump. There are multiple options, such as:
- setting the position
- write your own velocity logic and set the velocity
- set the velocity in rigidbody
- write your own acceleration + velocity system and set the acceleration
- add force using rigidbody
And sometimes your answer is a combination of the above, but experience and knowledge helps you understand exactly what you want. Movement is a pretty complicated topic, but it's something that's been tackled before. I'm sure there are probably talks (maybe GDC talks) that can help make things more clear.
As for the combat system, I would suggest creating the basic representation of your idea first, before trying to tie it into other systems (movement/experience). For instance, you could make it obvious that the player is dealing more damage while near death (shooting a bigger bullet or increasing the rate of fire). At the same time, you slowly build better instincts for how to organize/design your code. Then when you have a prototype up, you'll learn more about what worked and what didn't. Maybe you might find that you'll need more ways to motivate players to be near death? Maybe the player starts at low health, but gaining health encumbers them greatly? But regardless, if this is your key focus then try to prioritize that first.
Lastly with the camera, I think it was just the screenshake that was getting to me. I think screenshake is okay in moderation, but when it happens every single time you shoot it might be a little too much (walking and shooting made me a little motion sick)