First of all, your site/product looks incredible. I have a couple researcher friends who might really benefit from it, so I’m definitely going to shoot it there way!
Second, I’m really glad you’re trying to comply with JSON API. We’ve already seen some good client implementations come out, so hopefully complying with the spec will save your API users some time that would’ve gone into writing boilerplate code, and simplify your design process as API authors.
Now, about the bulk extension: I’d wait if you can. The body of the request isn’t that likely to change in any major way (maybe a 20% chance), but the extension negotiation mechanism is very likely to change. Before 1.0, we identified some major design limitations with the current negotiation mechanism and started talks on an overhaul, which will likely form the basis of the system in 1.1.
Now, you can of course implement the code for handling/generating the request body separately from the code for negotiating whether that extension is in use. But, given the 20% chance mentioned above, it may make sense to wait on that too.
Re the 1.1 release: that’s just targeting the system for defining and negotiating extensions, so it probably won’t standardize the bulk extension itself. But it would give you enough at that point to write your own extension in a spec-compliant way to get the functionality you need.