I am concerned about references I have seen to Parse using JQuery-compatible promises, as I have read that jQuery promises allow consumers to mutate the state of the promise
You can use native Promises, or a good polyfill. You can encapsulate any thenable (a Promise-like object with a public then method) in Promise.resolve call, like this:
var promise = Promise.resolve($.getJSON("/something.json"));
This will also have a then method, but without any headaches. It should still work.