i experienced the same issue, but i found out it is because i never power cycled..... meaning i never let my phone die and would always charge it before it died.. so here is what i did ro fix that issue
1. use your phone till it dies
2. let it charge untill its back at 100% ( green light )( An charge it with the phone off )
3. once fully charged boot your device and repeat steps 1-2 again and it will fx the battery issue
Well, I tried that method but it seems that your suggestions doesn't work. I also tried deleting the batterystats.bin, but it still turned green when 90%. However, I found out that if you continue to charge the battery even if the LED turned green and the percentage was full, things would work properly. Besides, if you turn off your device(or reboot into recovery) when the phone told you that the battery was full, it can still be charged for a while(LED orange to green). Then turn on the device, the percentage would be correct.
I don't know much about the android so I can only tell you the phenomenons that I observed. Maybe my words are hard to understand. Sorry about that, I'm Chinese.