Interesting discussion, couldn't resist to stop by and chime in
I'm with TomjNorthIdaho, cheating your customers is never a good idea.
Install your local speedtest server, and educate your customers as has been already said, you cannot control speeds to all servers around the world. Some (W)ISPs will cap bw to their speedtest server from the "outside", or de-prioritize it, so having your own is always a good idea.
Having a speedtest server won't be a solution for serious lack of bandwidth though, people could be non tech-savvy, but they aren't fools; if they aren't happy with your service, they will fly away, no matter if speedtest reports great speed.
Apply QoS policies to make your traffic as smooth as possible. QoS is not a substitute for real bandwitdh however, though it can "pack" more customers for a given BW.
In my experience customers rarely do speedtests if they feel browsing is "snappy" (and QoS helps a lot in that regard).
There always be those that cannot sleep unless they have their line fully saturated 24/7, if you don't have the bw resources to keep them... you'd better let them go, or charge accordingly.
IMHO, most traffic nowadays, more than 60% at least from my experience around here, is HTTPs (uncacheable), so caching has a limited usefulness; it can be useful anyway to cache OS updates, etc (with some tinkering, not so sure if everything has moved to HTTPS).
This requires a powerful server with heaps of RAM and fast HDDs, which may not be the highest cost of deploying caching, but... maintenance.
BW nowadays is one of the cheapest variables; so IMHO, unless you have transit limitations, investing on it is the best expense that can be done.