When I upload my avatar (image below), it appears briefly, but an hour or two later it goes solid black. Why is this?
Try using an image with a solid background, rather than transparent.
There are very many bugs associated with transparent images— not on Stack Exchange, but in general. You'll find threads complaining about blacked- or whited-out transparent regions for PDF processors, image converters, embedding, and copy-paste, which are variously blamed on color indexing, bit depth, compositing, cross-platform alpha handling, and so on. Whatever tool SE uses to store and resize avatars is presumably susceptible to these problems.
You can report this as a bug, but in the short term, the simplest thing to try would be to use an image with all the transparent pixels replaced with a color, or if you are using indexed transparency to switch to alpha, or if you are using alpha transparency to switch to indexed.