Just want to add to the need of access_fine_location to scan nearby devices.
In fact scanning nearby access points or Bluetooth devices is much faster and more precise than GPS. If this sort of scanning could be done without requesting the access_fine_location permissions, it would be very misleading to the user. So I definitely understand Androids reasoning of requiring that permission.