So it looks like your robot goes in a straight line until there is a wall directly in front. You then stop: scan left/right to work out which way to go and then go in a straight line again.
Why not scan your sensor left/right whilst you are going in a straight line? Then you can start to turn away from walls BEFORE you get too close. Make your turn angle inversely proportional to how close the wall is. ie if the wall is far away then turn away slowly. If its very close then turn quickly. Then you will have a much more fluid movement.
The next challenge for you is small objects like chair legs, or low objects like the horizontal struts on a table leg. They may be below the line of site of your Sharp IR. How will you handle those?
Dont mean to sound critical - just giving you more challenges to think about!