The key to not "constantly putting out fires" is to prevent those fires in the first place. That comes with experience. After a while, you can predict where the fires will be. But there's also planning in the little things.
Meds/treatments/education can all be done with the initial assessment. Combine your tasks as much as possible. Make one trip into the room each hour instead of three. They haven't had pain medicine in a while, go ahead and take it in the room with you when you go in. Quicker to return it to pyxis on the occasion that they don't want it than to leave the room and come back with it when they usually will want it. It also shows the patient/family that you're thinking ahead of what will make them comfortable, which reassures them. With the inevitable request, "I'll be right back with ice/nausea med/pillows/apple juice, is there anything else I can get for you right now?"
Let patient/family know what your plan is for the shift. "I'll be in about 10, 2, and 6 with antibiotics and at 6 we'll aslo do a dressing change. And we'll have the tech coming in at 8, 12 and 4 to do vitals." Knowing what's going on reassures patients that they will be taken care of, that they don't have to "bug you" to make sure you come in the room.
Someone asks for a blanket? I bring a couple, and an extra pillow. So I don't have to make an extra trip down the hall when I get back and they realize they'd like those too.
Asks for an ice refill? I fill the bucket with ice, and bring back a cup of ice and a cup of ice water with it, they think I'm ooohhh so thoughtful.
Also remember, you can only do one thing at a time. At the beginning of my shift, I take a little more time in each room than some of the other nurses, but they're settled in at that point. I could do a quick in and out, but they'd be calling me back in there. 5-10 extra minutes per patient at the beginning of my shift saves me probably about an hour per patient later in the shift. If another patient needs me while I'm in that room, and they aren't coding, they're going to wait a smidge. Then I go to them, apologize for the wait. But that short wait at the beginning of the shift allowing me to get the other patient settled means they likely won't ever have to wait for me later in the shift.
Major point: It takes a while to get into a routine. It takes a while to predict what patients are going to want sight unseen. It takes a while to learn to assess the patient without thinking each thing through, to just "do it." I understand your frustration, but try to give it a little more time. We've all been there! It will get better!