Speaking of spot dodges. Learn the "Double Take" as it has been dubbed in the Sonic Mind Games Thread. Just run past ANY OPPONENT who is silly enough to start dodging in place against Sonic. If they aren't going to abuse the fact they most likely have much better priority... and they're going to go defensive with rolls/sheilds/dodges.... just run past them and grab or do whatever else on the way back.
You're using the shield out of dashes an aweful lot. Instead, run up to them and then use the Spin Dash (Forward B)... not only will it stop you in your tracks, but when it releases it has a delay with the pop that usually hits people who spot dodge. Oh... and you can shield THEN if you need to. In other words, instant shielding just limits your options. Think the "triple threat" in basketball and shielding instantly is like picking up your dribble. You can also mix in the spin charge attack when running forward.... cause it doesn't have the pop, thus a different timing for your opponent. If he starts shielding... try to drain down his shield a little more by not rushing to release the attacks.
Approach different ways... launch yourself into the air after releasing a Spin Charge.... you won't lose your jump so you can bail out if it doesn't look good and you can start any other spin attack.
Your opponent seems very reactive and is most likely good at picking up patterns.... All Sonic Users face this truth: Becoming predictable during a match is not acceptable when playing strong opponents. You can't expect to finish all your opponent's stock in the same manner. You can't have a set plan of any kind. Your plan should be improvising and chaotic. If you're not on the offensive you need to have your opponent believing that at any moment you could be attacking. Hope that helped... I know it's a lot.