Boss battles generally suck, and a product of the old side scrolling crap video games should have moved away from a long time ago.
However, if there is a boss battle, then it should follow the same rules as everything else in the game. No bullshit invulnerability save for whatever pixel bitched solution the game wants you to play (fuck you Deas Ex: HR you digital shitstain of a game). No artificial beef up, with no rhyme or reason beyond some bullshit narrative crap. If that guy is more armored, then let me see that armor, if he can jump higher, or whatever, then let me see why. And if he can get the uber armor and jumpy or flyboy shit, then when we kill him we should be able to take that shit from him. If his face is exposed, and I shoot him in the face, then he should bloody well die. Not hav some magic forcefeild bullshit that prevents me from hurting him. Hell, if any part of him is exposed, I should be able to target that and it have an effect.
I don't mind the climax of a chapter of the game having a tougher foe, a challenge... but I hate, as in fucking despise, the whole "you are locked in a room, and now you have to fuck around and figure out our incredibly contrived bullshit way of fighting this "boss" who cannot be harmed by bullets, explosives, whatever...." Fuck all that.