Trudeau should've made a statement that he was no longer welcome in the Liberal party before he resigned.
He can't fire the speaker, but he can kick him out of the Liberals. The Liberals have such a reputation for screw-ups that they need to be seen cleaning house.
Why? The party has no obligation to let anybody run for them. The party is free to kick people out based on actions that occurred outside of their role as an MP or party-member in other cases, why not this one? The Speaker, who is an MP who was elected under the Liberal banner (even though he's no longer part of the Liberal party) screwed up on a massive, geopolitical scale. Why shouldn't the Liberal party be able to say "you are no longer entitled to that banner"?
If anything, this should be a lesson for every prospective speaker: this is a No Fun Job. You do not take initiatives, you play it safe as hell, because out of everyone in Parliament you are the one who is working with the worst guard-rails. You don't have access to party infrastructure to vet your mistakes for you. Which, honestly, is appropriate for the Speaker, which is canonically a role about being an elected politician who must be above politics.