I finally figured out how to reliably hit him, and it all comes down to patience and placement.
First of all, it's best to stay with Modern Sonic at all times with one exception late in the fight. Constantly throw Classic Sonic to clear out debris in your line of travel. Dodge the Time Eater's arm attacks and homing missiles. When you start closing in, fly right in his face to avoid the hand-clap attack, then move down and you should be able to get his core.
In the second phase, he'll leave the time-space tunnel more often--just be patient here and search for rings. Don't be tempted going to Classic Sonic for this because it's too slow and, if debris starts building up in front of you, you never know what debris is right in front of you and about to smack you and which are actually outside of your line of travel. When he reenters the tunnel, just keep closing in on him as before, getting right in his face and go down to his core right when it feels safe.
The third phase is where things get tricky. He'll include two new maneuvers: slowing time down ala Chaos Control (to the tune of one second of game-time lasting 10-15 real-time seconds) and a massive laser. Chaos Control is really not a concern--in reality, it gives you a breather. The laser, however, is something you should piss yourself over. Once you get the notion that the laser's coming, switch to Classic Sonic. Within the next two seconds, the laser should have fired (not even close to you), at which point you should go right back to Modern Sonic. Beyond that, keep up the ring collecting and do everything else as normal.
The final phase is the easiest one, so I won't even give you any advice.