rewrote balancing to use per-atom data stored via fix property/atom
(cherry picked from commit 1da862b44077c3439b314041d64915efb186af43)