Reading this, I don't think you are handling the matchup right in general.
If your opponent is in the air, Usmash is almost never your best option. You save Usmash for the hard read or the bait. Nair is your best option, because it usually beats spot dodges. If you get a full hit, it is 20% tacked on. Plus you get to be mobile instead of hoping your opponent lands on you like an idiot.
In footsies with Captain Falcon, you must be aggressive after learning how he moves. Throwing out safe jabs won't win games. We are past the point where Falcon will help you by running into jabs. Instead, throw the jab out and see what he does. Does he shield? Roll back? Jump?
Whatever he does, the next time you are in the neutral, you need to counter his feint. If he runs up an shields, don't jab. Run up and grab instead.
If he rolls back, run into him as he runs in, and nail him as he roll recovers.
If he jumps, I like to run in and shield under him. Catch him with Fortress. If he jumps a second time, jump cancel your shield into Nair.
Bowser is all about reads. It is all he has. You can't win by turtling (har har) or going all out offense against smart opponents. You need to use his weight to make calculated risks.
Every player has habits. Even the best players here. The last time we did Bowser mirrors, the reason I won was because I learned that you will go aggressive through impatience if you feel cornered. So I always let you attack first, and I countered. Nothing is perfect in the land of hard reads, but it is the necessary game a Bowser main has to play.
Sonic is the same way. Let him Spindash all he wants. What does he do AFTER you block Spindash? That is where your attention needs to be. Does he spin back (Fortress)? Does he jump cancel (Nair)? Does he Homing Dash (Spot Dodge)? Everyone has stuff they like to do with their character. Bowser is bulky enough that he gets to make the necessary mistakes to learn those habits.