I found out about the Content-Location HTTP Header today.
Basically you can avoid a 302 by setting it to the more specific URI and returning the entity that would have been found had the Content-Location been requested instead of the current (generally less specific) URI.