If official gamebuino modules will be released, could there a module ID that gets transmitted over I2C? So the I2C address could be random for all modules, and then have a secondary identifier that could be used by creators via the library.
So for example, 0x01 could be a shoulder button, 0x02 could be an accelerometer and 0x03 could be a rumble motor. This would make it easy for developers to easily add extra functionality to their game. The library could even have it's own functions so you wouldn't even have to know how to communicate with it to use it.
This could be used just for official modules, if someone wants to use a third-party I2C module they can use the existing address.
I haven't really thought this through and I might be talking utter crap but I'm just throwing ideas out there.