I'm looking for a geographic location (not service) to host internet services that will give me the lowest latency on connections from two other locations. How would I best determine the most ideal midpoint?
You would do well to consider where the Internet Exchanges (IXs) are located in your hosting region of choice. For example, in the US:
See also the peeringdb: https://www.peeringdb.com/private/index.php
That should get you in the ballpark. Anything off one of these highly interconnected IX points will add latency.
You can further refine this model by looking at your "locations." If they are physical locations, see which networks are there. If they are network locations, find out from the providers where they interconnect. Traceroute and mtr can be helpful tools but I would caution against relying on them entirely as routes can change at any moment.
Do a few dozen traceroutes between the locations in both directions, determine the fastest/prevalent routes and choose a location with a very small latency to the central point (central in terms of time). Geographical location of a hop can be estimated using
When considering a location, use traceroutes in the same manner to check whether you guess regarding routes is correct.
Any further optimizations would require you to know general network topology (backbone at least).