One of my favourite Metroid boss fights was with Draygon. For those who aren't familiar, Draygon was a giant, fat, green, horrible prawn monster completely covered in armour aside from its soft underbelly. It would whiz about through the walls and occasionally grab you with its claws and try to crush the life from you. All the while, wall-mounted cannons would bombard you with balls of lightning. And that's without mentioning its horrid little spawnlings. (Which, despite their vicious spikes, were there for the classic Metroid mid-battle health and ammo pick-ups - so even the most apparently hopeless battle could always be won, if you were skillful enough to dodge all the various attacks, kill the minions and collect their pick-ups before something finally did you in. But I digress.)
What was really smart about this battle is that while you could simply lay into Draygon by launching super missiles at its belly - not an easy ask in itself, given how quickly it could move, and how slow and scarce your super missiles were - there was another way. Blast apart the wall-mounted cannons and beneath the wreckage would be revealed a generator for their electric charge. Shoot that with your grapple beam, at just the right moment, and Draygon's grab-and-crush technique would come back to bite it - as the current ran down your beam, through your suit's outer armour and straight into the beast's flabby gut! Fried shrimp, anyone?
So, yeah. That was such a good boss battle because the most effective tactic utilised aspects of the level, your own special abilities, precision and timing of the shot, and knowing & exploiting the boss's attack pattern.
Of course, that's a set piece in a totally pre-planned environment. In Valley, so much is generated on the fly I've no idea how you might go about incorporating anything like that... but I'm sure there's something in there which might inspire some boss ideas nonetheless!