The waste from multiple Class C addresses is going to be far far less than letting roughly 62,000 IP address go unused.
It's completely possible to use a single Class B among multiple locations. It just takes a bit more setting up, and can cause issues with some ISPs who filter route announcements that aren't full class blocks (above a certain level anyway). I ran into this many times at my last job, customers unable to reach a remote server, or non-customers unable to reach one of ours.
What you do is just subnet the Class B into whatever your needs are, then register those subnets with an IRR (or several). The IRRs (Internet Routing Registry) maintain records of things like the subnets, which ARIN does not (because they only refer to full class blocks). ISPs then use their records to make automated decisions (or manual) about what sort of routing to allow.
Some ISPs won't allow any subnet that's smaller than a /19, for example, if the IPs are part of the Class B address space. They do this to keep from having bad network admins send out a route announcement for every single block of 256 address in their Class B. (Many supposed trained people assume if you make something a /24, it now becomes a Class C address.) This is done just to prevent excess, unneccessary routes having to be stored and processed by a router -- every route entry takes the same amount of memory, no matter how large a block it references. Their policies WILL however let through 4 separate Class C blocks through because they are a full block, not a subnet of a block.
But, if you have several locations using IPs from a single Class B, it's perfectly valid to need to route them all to different networks. Since the introduction of subnetting and Classless Inter-Domain Routing (CIDR), routers are generally configured to not restrict routes to full blocks. Before that, the routers couldn't even use a route which wasn't a full block -- highly wasteful of IP space. So there's nothing wrong with subnetting a Class B, but it might be filtered by some ISPs due to policies trying to limit bad routing from other people. If an entire Class B goes to the same place, the ISP doesn't need to know about each block of 1024 IPs individually.
An ISP that looks at the IRRs will make note of exceptions, and their routers will have their filters modified to allow the registered subnet. In some cases, this is only done manually after someone points out they can't reach a site. In other cases they may have an automated system that compares routes to the registry or regularly rebuilds the filters based on an updated registry. Of course, since most everyone that has an entire Class B is using it at one site, or using large blocks of it rather than many small blocks, such filtering doesn't cause a large amount of problems; plus, the number of "regular" websites with addresses from a subnetted Class B are probably pretty small.