It will show the information if it’s being monitored. The vehicle that showed -1% probably did not have a battery monitor installed on it, or it was not configured. Nothing at all to do with Tower.
The battery percent show no in Tower is directly passed from the drone, not calculated using several bits of streaming data (current, voltage, capacity…)?
ArduCopter reads the battery monitor’s volts and amps. ArduCopter keeps a running total of amps used over time, which it also uses to calculate the % remaining vs the total BATT_CAPACITY parameter value. All of which ArduCopter reports directly to the GCS (Mission Planner, Tower, etc), which simply display the information. Tower is not making those calculations.