If you see a Side b charging and releasing, immediately go for the shield. Then depending on what kind of Sonic main they are, you can usually uair out of shield and punish their side b. But if they go for the spring every time before you can punish, shield the spring and the side b. Then right after they spring they will most likely dair because once a Sonic can get high enough, they can cancel the dair's lag. This is when you go for the down b or ftilt or up b. This will condition them into either not using the spring or not dairing immediately.
Another thing you can try is when you see a side b charging and if you're quick enough down b immediately. This will then most likely make them side b next time jump early out of your down b range and then homing attack which you then shield and dash attack for the punish.
If they do manage to upthrow you or get you high vertically, airdodge as much as you need to to dodge their uairs.
I always recommend using down b and up b when either they're running at you or you're running at them.
Not sure if this helped but I hope it did :S