This method will perform the same API call than the one generated by the `getEnvironment`. If HEAD is not working, I'd just remove the `environmentExists` method.
However, did you test this with Hosted Chef? There are some API calls that use HEAD that work in the open source Chef and don't work in Hosted Chef. For those calls, we implement the standard behavior in the ChefAsyncAPI, and "patch" it in the concrete APIs where the method does not work. Take a look at the [PatchedChefAsyncApi](https://github.com/jclouds/jclouds-chef/blob/master/labs/hostedchef/src/main/java/org/jclouds/hostedchef/PatchedChefAsyncApi.java) used in HostedChef and consider using the same approach.

If you don't have access to an open source Chef instance let me know and I'll test the HEAD method and let you know the results.