If a machine doesn't answer to the Internet, it has no need of a public IPv4 address. A machine that only answers to other machines in the same organization should be assigned an address in the 10.0.0.0/8 range. If the organization is not large, even 192.168.0.0/16 would do. In fact, many people would argue that assigning public IP addresses to intranet resources is very bad for security.
Of course, some of these machines actually might have valid justification for squatting on a public IPv4 address. Perhaps their firewalls are configured to drop all packets except those from a handful of "trusted" IP addresses, so a random scanner on the Internet gets no response.
But I doubt that such cases account for the majority of "seemingly unused" IPv4 blocks. What's more likely is that some large organization was assigned a massive block of IPs 20-30 years ago and never found much use for them. IBM owns 9/8. Xerox owns 13/8. HP owns 15/8. Apple owns 17/8. Ford owns 19/8. Several pharmaceutical and chemical companies also own an /8 each, as do some universities. Do they really need 16.7 million public IPv4 addresses? Of course not. But I wouldn't be surprised if they started to sell bits and pieces of their blocks once the price per IP goes up enough.