Is it a special design ?
You are making it hard, by using low USB speed, only 9600 baud, 8MHz clock. Since the interal ocillator is not very accurate, you can't do high baudrates.
Can you try it first on a Arduino Uno ? With a high baud rate.
Your code seems already the bare minimum.
Some I2C devices allow higher datatransfer. Perhaps you have to alter the library for that.
Do you need a continues flow of data ? Perhaps you can store data in a EEPROM or SD card.