Well, I've tried adding a ResourceLocator parameter to Styles.parse and passed in a modified DefaultResourceLocator in parsedStylePrepared that unpacks resources and returns their unpacked locations.  I like that it reduces the number of passes over the style but requires duplicating a lot of complicated File/URL/URI manipulation from GeoTools in a Resource acceptable way which is introducing errors in other modules. 

Giving the parser a File to get absoluteized paths, and a Resource to get plain ones isn't quite as nice a solution, but it is a lot less invasive.