>Is this the best approach for this type of game?
No. The best approach is
priori-ish. You predict if a collision
will happen and act accordingly. Like you have the normalized time interval of 1 from one frame to the next, you check if a collision will happen (with some sweeping algorithm), the you subtract the (normalized) timespan from your remaining timespan (started with 1) and continue with that until you run out of (normalized) time. Thats it... basically.
Its horrible complicated... mind you. But the advantage is that the simulation is *very* accurate. It does look and feel a tad more solid/real than breakout games usually look like. (You also dont lose speed when collisions happen.)
Well, I suggest to keep it like that. <edit>I mean the simple approch, you're currently using</edit> If your timestep is small enough it works pretty well. If the displacement gets too big the ball might warp through bricks and/or the paddle.
*copy&paste*

Eg the brick is 16px heigh and the ball radius is 6. 16+6+6=28. So don't move more than 27px otherwise the ball can warp through bricks. (It's really "fun" if the ball warps through the paddle

).