Is it technically possible to change the mining protocol, so that a certain IP (solo miner or pool operator) cant have more than 49% hashpower ?
No.
#1 you cant force miners to update their client, so you are suggesting a hardfork
#2 you cant check how much hashingpower a certain IP has. You might allow only 49% of all block over a given time from a certain IP, but that would need a central place to deliver those blocks which can check where they come from. Thats not p2p, thats even more power on a single point. besides that: miners could just change the IP.
also: there allready is an emergency solution:
http://gavintech.blogspot.de/2012/05/neutralizing-51-attack.html