I was thinking about this at one point myself and thought that maybe it would make sense to be able to embed multiple URLs for the same media file so if one host goes down it would still be accessible via another one. Maybe also with some sort of hint as to how the multiple URLs are dealt with, e.g. primary/secondary, round robin etc. The client could also potentially then load from the lowest latency host to improve image loading performance.
I think the NIPs that push media to relays could work for images if we had special purpose relays specifically for hosting images, but I agree they aren’t the best solution in general.