Imgur work OK-ish for short gifs (<=15s). For longer gifs/looping videos I too would like an answer to this question.
One of the reasons it's inconsistent is that Lemmy tries to balance the media it serves locally vs. the media it lets remote hosts serve. Also it's a bit naïve about image conversion. So if you link to an actual GIF at giphy.com (for example), it works consistently across the most the most platforms if Lemmy leaves it alone. If it doesn't, it'll bring it in and convert it to a WebM file, which not all clients know what to do with. Even if they do though, looping isn't always on by default for video, so the effect of a GIF that relies on looping might be nullified.
It's probably best to focus on the clients with the biggest user-base, rather than try to target them all. For lemmy.world/c/gifs, the most popular posts have been uploaded to imgur.com - which convert most GIFs to MP4s - and the post's author has linked to the inline version at i.imgur.com.