I'll comment from what I noticed fighting Flying Dutchman and Swoops/Swil's Ganondorf as Sonic:
-Don't use moves that will get you punished unless you're sure they'll hit/serve their purpose (u-tilt, fsmash, side-b, f-air... etc)
-Don't spam moves before you need to use them (like... If you want to use SH d-airs, don't spam them until your opponent comes at you- you're basically telling them what move you'll use and they'll find a way around it)
-Use shield more. Also use shield grabs and grab moves in general to disrupt their momentum.
-When being attacked, try to dodge and DI away from the attacks. It's painfully obvious, but alot of people don't actually do it when they need to.
That pretty much covers it. Light, fast characters like... Sonic, for example, make their games out of punishment and/or pressure. Other than your offensive game, like being able to use Flame Choke and techread, or all that technical character-specific stuff, the things I mentioned above are what I take advantage of the most when fighting slower characters.