Lithium-ion cells are one of the easiest to charge - there's minimum and maximum voltages, and a maximum charge current. Simply limit charge current to the maximum until the cell reaches its maximum voltage, and then wait for the current to drop until it's nearly 0.
Of course, exceeding those limits at the upper end certainly can result in flames, but it's seriously not that hard to charge a cell. But people like to spew plenty of FUD about "complex algorithms" and the like, because the companies who make the ICs stand to profit from that.
Source: I have also worked in electronics on battery-powered devices.