There is another aspect to sysfs which this article doesn't address, and that is the purpose of sysfs in the first place. Sysfs' primary job is to provide a user space readable representation of the Linux object model, and methods to manipulate it. udev in particular uses it to make decisions about what to do when new device are registered into the system (ie. add device files). The sysfs design reflects the boundaries of the problem it is intended to solve.
Sysfs is not intended to be the primary interface to a device. Nor is it intended to be a kernel configuration mechanism. A fair few drivers do use it in that capacity and a lot of the time there isn't anything strictly evil about that, but that usage is peripheral to the primary purpose. It certainly doesn't replace sysctl.
If questions about access atomicity or formatting of large data arise then I strongly suspect that the sysfs interface is being abused and that a char device or debugfs file would be a more appropriate choice.