The fact that it's a browser inconsistency does add weight to the problem. However, even if Chrome/Firefox did the same thing, we'd still want to make sure that the automations of animations and the like are as painless as possible. Part of jQuery's magic is being able to do stuff to even zero elements and not giving you an "Object required" error. The same should apply to this problem.
A string like
.css("border", "1px 1px -1px 4px")
would be unlikely to be used in repeating patterns, and it would be more likely that "border-left-width" would be changed. We can ignore the harder-to-catch and less-likely-to-be-invalid shorthand properties: border, border-TRBL, padding, border-width, font, outline, box-shadow.
Instead, a simple one-liner (with a complex RE) can catch the others. Something like:
if (/^(border-(spacing|-(top|right|bottom|left)(-width)?|image-(slice|width|outset))|padding-(top|right|bottom|left)|font|(font|background)-size|((min|max|device)-)?(width|height)|(outline|column-rule)-width|line-height|widows|column-gap|color(-index)?|monochrome|marquee-play-count)$/.test(prop) && /^\\s*-/.test(val)) return $obj;
Heck, even the other ones aren't difficult to parse. I already included above the ones that feature the negative illegal on the front end.
else if (/^(border(-(top|right|bottom|left))?|padding|outline)$/.test(prop) && /(^|\\s+)-\\d+/.test(val)) return $obj;
That covers all of them except for box-shadow, which likely isn't going to be used, anyway.