Lets assume that in page visits <10 minutes apart, a users battery won't change by more than 10%.
So say I go to volvo.com and then reddit.com - and my battery changes from 10% to 8%. When I request reddit.com - the user is clearly not a visitor who has had >20% battery. We also know the resolution of the phone. We know the user agent. And many other factors. Combining all of these means that you approach 100% certainty that it's the same user. No information on it's own is identifiable - but by combining enough sources - no two machines or phones are identical (at least that's what advertisers hope)
A friend you're meeting tells you he's in the starbucks with a red shirt. That's not enough information to know his exact coordinates. But you combine and infer - you know how many starbucks there are in the vicinity, and which one he's likely to be at. You know he's in a red shirt - but there's several people. Luckily you already know his height well enough to filter out false positives within milliseconds.
The method I don't find intrinsically scary - but perhaps the scale and depth at which it happens, and for what motives.
Similar to how time skew is used for tracking as clocks go off sync.