Sounds like swim bladder disease. This is caused when your fish swallows too many air bubbles when going up to the surface at feeding time, so they inhabit his system, making him unable to swim and that's why he has balance problems.
Your solution: Pre-soak the food beforehand in tank water. That way, it'll sink, and then be pushed around by the filter. It will then be a challenge for your fish to get to.
SBD also can infect your fish in other ways. If there isn't enough oxygen and circulation in your tank and your fish felt the need to gasp at the surface for oxygen, he might have swallowed too many air bubbles which make it hard for him to swim.
Try placing some live plants in your tank if you didn't already have some. If you do, add a couple more! If there's space. The better thing to do would be to upgrade your tank to a larger one, and that way you'll have enough space to purchase an air pump and place it in your tank. With the live plants producing oxygen and the air pump creating air bubbles to circulate it throughout your tank, your fish should be healthier.