Blood can just be caused simply from the irritation of having loose stools. Loose stools can be caused by overfeeding, worms, bacteria overload.... How much does he weigh? 4 cups sounds like a lot especially for a food like Blue Buffalo. Does he actually NEED to gain weight? Feeding more food doesn't necessarily put more weight on them, it oftentimes just makes them poop more and makes the poop looser.
I would first have his stool checked at the vet to make sure there's nothing in it that needs to be treated. If that comes back clean I would probably reevaluate the amount you feed him, or possibly it's just not the right food for him.