US-only, I've had good luck with the NWS JSON API[1]. Someone posted a while ago on here[2] about taking in various NWS models and creating "Pirate Weather"[3], a drop-in replacement for Dark Sky.
1. https://www.weather.gov/documentation/services-web-api
2. https://news.ycombinator.com/item?id=34329988
3. https://pirateweather.net/