If you have time, I'd recommend purchasing dedicated servers in multiple geographical areas and setting up a custom CDN. It's much cheaper, however much less reliable and much more time intensive to manage and diagnose.
you can try finding good deals in areas you are interested (be certain to ask for "test" IPs, then look up their connectivity via _multiple_ looking glasses) on www.oneprovider.com and then pair that with a robust DNS provider such as NSOne and you've got yourself a pretty decent, bespoke CDN. provided you already know how to do reverse caching proxies and all the other "magic" a CDN needs to work.