1. There's a couple things that could be happening, see this post for battery changes. https://electronics.stackexchange.com/questions/19107/do-batteries-lose-voltage-as-theyre-used-up
2. Separate from the battery itself the charging circuits may have different resistance values that will impact the maximum current. Charging/discharging some types of batteries to fast can cause them to overheat.
The current on the charger is a max current rating not a guarantee that that current will flow. V = IR, the voltage is fixed from the charger and the resistance will be determined by the charging circuit which will pull the current to make the statement equal.
You seemed to have missed the point. A proper charger charges at a current set by the state of the battery. There is no magic formula. It depends on the battery and charger.