I agree to give the bristlenose pleco a try! I have 2, one albino and one regular... they are so neat! And they keep the tank all sparkly! :) They get along fine with bettas. My albino I've had since 2009 so he is full grown at about 5 inches. My other one is still a baby. Also, I have housed bettas with smaller fish such as endlers livebearers, threadfin rainbows, and yes even my albino pleco when he was so small he could fit inside my bettas mouth... but my bettas never tried to eat/kill any of the smaller fish. As long as the small fish can swim faster than the betta, it will be fine. I think platies are also a good choice for bettas. I had tons before when I had a 55 gallon, and a few 10 gallons going... they got along with bettas and never nipped (except maybe 1 little jerk if I recall- who I returned to the pet store). My bettas also did not mind them.
Pic spam for convincing:
Eli the betta ignoring Waldo the albino baby pleco on the leaf. (Waldo started off 1/2 that size, LITERALLY, and was also ignored then...)
Next pic, 1 1/2 years later- still doing fine together. :)
And lastly, Waldo the pleco with my new Betta Oscar- also doing just fine. :) (RIP Eli)