How do I prevent soft body balloons from crumpling when they hit walls?
With Blender 2.66 or later, you can use a combination of rigid body physics and softbody on the same object. This should help you achieve the effect you want.

Also, increase the goal value and goal stiffness in softbody settings will help you retain the shape of a mesh.

Take a look at this sample scene