For eating algae, I would recommend a bristlenose catfish (ancistrus). But if you do not have much algae you will need to supplement its diet with algae wafers.
I would recommend you get a couple more bleeding hearts, as they like to be in groups.
You could either go with a larger group of one tetra, say 12 bleeding hearts, or you could get a couple more bleeding hearts and then get 6 cardinals, or something like that.
There are alternatives to tetras though. You could go for a group of pencilfish. three lined pencil fish will stick to the top most of the time, so you would be using all levels of your tank.
There are harlequin rasbora which are nice schooling fish.
corydoras are lovely little catfish which will use the bottom of your tank nicely. I would go for a group of about 6 in that size tank. There are many variety of corydoras, so you would need to see which you prefer.
khuli loaches are also cute and would love all that bottom space