We can try to fix the bounce so it never ends up going horizontal. The original breakout only changed the angle the ball moved when it hit the paddle, otherwise the bounces were perfect.
Here's a test of some ideas.
It has three on collision events. Only one should be enabled at a time.
The first is probably what you're already doing. It uses the bounce action and sometimes the ball starts going very horizontal if a corner is hit. The issue case.
The second one tries to fix the bounce angle to be perfectly mirrored or flipped from before the collision. It works mostly but when a corner is hit the ball can start going in the opposite direction.
The third takes it a step further. Instead of fixing the bounce it will calculate the bounce itself. To do that it first backs the ball up until it's no longer in the wall and then uses overlap at offset to check if it's next to a horizontal or vertical wall.