Generally I've read the motivation for browser same-origin policies is to prevent data being obtained by an attacker because of the sending of credentials in a cross-origin request, and that if you're requesting entirely public data, the browser has no way of knowing that.
However, it does have a way of knowing whether it's sending credentials to the remote host. Why doesn't fetch
, for example (see https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API), provide a mechanism to make a completely anonymous cross-origin request? That would prevent an attacker getting information that may be sensitive, but would allow a script to request something like a totally public RSS feed.