I think you’re describing something backwards, because 0 db is max (the scale is from minus infinity), so you can’t have anything beyond that (in an 16-bit file anyway). But yeah, I’m pretty sure compression is the tool to get what you’re doing now. Compressor will gradually reduce all the peaks beyond a threshold you set up. Limiter will not let anything through that threshold (that’s why usually it’s set at 0 db or slightly less to prevent distortion).
Yes, you can say it’s automatic but it can be tricky to set up, so there’s the problem - often compressors have intimidating GUI. A plugin called Waves RVox is very easy and gives good results but it’s not free. You can get similar results with any free compressor, it’s just a matter of setting it up. I know Audacity has a leveler which is a form of compression as well, so it may be worth to check out.
I know this may sound intimidating, but it’s really worth it to investigate compression when working with audio.
Below you have an example how it works. This is the same file, before and after compression. Both examples are normalized to 0db. There is a marker “3” there, that’s where the loudest peak is in. It prevents the rest of the audio from being louder because you can’t get it over 0db. After compression it has been reduced and you can see the peak in the middle now reaches 0 db as well. Everything in between is more even.