There are tons of things you can do, and Google already told you what to do! You really need to read up on Google's suggestions and implement them. It really is that simple. My site is hosted in-house, uses NO external resources, NO CDNs, and loads in 300ms (in my targeted region of the world). Google PageSpeed Insights for my site is 98. Yslow is 94. GTMetrix is 97.
Look at a waterfall chart and see what resources take the most time to load. Then try to optimize, shrink, minimize, or combine those resources to make them as small as possible.
Don't use resources from dozens of different external addresses. Each script or image you load takes time to DNS and download.
The less external resources you have the better.
Get rid of Google Fonts.
Host your own JQuery/JScript libraries. Don't use Google.
Use a caching plugin that minimizes and combines JS and CSS files.
Ensure GZip is enabled on your server.
Shrink images as much as possible.
Compare your site with other sites from your hosting provider and see if they are a bottleneck.