Starting with Tomorrow's scan in a few hours, we are going to be trying a more intelligent scanner. It will try and catch the times when the Social Club serves up 0's for a character's data, wait a certain amount of time and rescan that character and see if "real data" is available.
After 3 fails, I think we should give up... but what should we record for that character for that day if anything?
We're always making improvements to the underlying code of the website and scanner, but we felt this was something significant to try and figure out.
The best we can do of course is to compare the new data to existing data in our database, so we look at 5 fields for the statistic to be the same or increase, if any of them fail, we consider all of the data grabbed at that time to be bad.
I know the Social Club statistics aren't perfect, but we can at least try to improve what we present to the user.