Why only 127 slaves in I2C?
From NXP document UM10204, "I2C-bus specification and user manual", section 3.1.12, "Reserved addresses":


  Two groups of eight addresses (0000 XXX and 1111 XXX) are reserved [...]


This leaves only 112 addresses available. However, it continues:


  If it is known that the reserved address is never going to be used for its intended purpose, a reserved address can be used for a slave address.


So technically you can have 128 slave devices if you are architecting all the slaves yourself, but in a general system you should not assume that any of the reserved addresses are available.