I've given the secret on here many times. Bots. Go practice with those bots on the default difficulty level. Learn to stop panicking just because you've spotted an enemy. Don't wildly swing or overreact with your right analog stick while emptying your whole clip.
I've even posted my perfect controller settings here before, and I hesitate to post them again cause I'd like to keep advantages for myself lmao, but here goes.
Move and Look Center Deadzones, set those to 0.
Move and Look Axial Deadzone, set those to 4.
Look Sensitivity Horizontal, set that to 8
Look Sensitivity Vertical, set that to 8
Move and Look Max Input Threshold, default, which should be 10.
Look Acceleration, default, which should be 2.
Once you have those settings what you have to learn is this. There's no harm in taking your time and slowly moving your right analog stick into place to line up an accurate shot on an enemy. What I learned about Halo from the bots and then from playing real players is that, though players immediately begin firing off entire clips, many more times than not it's a front and they don't properly have you in their sights yet. Or usually they didn't at the start, so the damage they're doing is actually significantly lessened by the fact they've been missing. Don't swing your right analog wildly or panic. Take your time to move it into place, and fire accurate shots, and don't shoot unless you're actually going to hit something. A lot of the fights or 2 to 3 kill streaks I get come from people who finished off their whole clip and are then sitting ducks to me because I made my shots count and didn't waste them all. It's hard to get into the mindset, but treat them more like campaign enemies. I was able to learn all this and get much better by playing the bots on the default difficulty.