UPDATE Shortly after initially posting this, I discovered that Photon, part of Jetpack, was to blame for the animated GIF issues.
Embedding animated GIFs into Twenty Sixteen makes them look awful. (I just checked and the same issue happens with Twenty Fifteen and Twenty Fourteen.) I’m telling WordPress to embed the full size, original image. But that’s too large to fit in the template so they are scaled down with CSS. I’d guess that the CSS scaling was to blame, but you can totally scale the same animated GIFs with CSS in a simple HTML page and it works just fine. What am I doing wrong?