There's AccA (and the command-line ACC) which allow fairly sophisticated control over max voltage and charging rates, with easy profile switching (features depend on kernel/hardware, but works with a lot of stock ROMs). Root is required, unsurprisingly.
https://github.com/MatteCarra/AccA/releases/