I've been doing an experiment of taming animals which animals can and can not be tamed to follow and attack for you. Bats don't seem to respond to any type of food I use, and ocelots have hearts above them when I feed fish to them, but does not tame them. Is there a way to tame ocelots or bats?
Yes and no, there is a way of taming an ocelot, you would do this by feeding it raw fish. You must be very careful when feeding the ocelot because it scares very easily. When the ocelot becomes tamed it will change color, so you will know when it's tamed.
As for taming a bat I don't believe there is a way in vanilla Minecraft. There are ways to catch a bat and place it in your house so it looks tame, but that would be for looks.
I don't believe you can tame bats, but you should be able to tame ocelots with fish. Reference the Minecraft Wiki for more information.