1 megabit of upstream is plenty for a personal website. I can say this from long experience.
Not every site needs to have 3+ nines of uptime.
That does nothing if some other rando decides to link to it.
You can host your HTML/JS/CSS on Github Pages fronted by Cloudflare again for free.
For dynamic stuff, I just set up an ElasticSearch cluster with three VPSes from https://php-friends.de/vserver-ssd/vserver-schnupperspecial-... for the grand total of 10EUR/month... these are some serious hardware for 4 EUR (inc German VAT): dedicated two dedicated Haswell or Broadwell cores, 6GB RAM, 65GB SSD. Slap Ubuntu on them, then https://help.ubuntu.com/lts/serverguide/automatic-updates.ht... and https://www.cyberciti.biz/faq/howto-live-patch-ubuntu-linux-... will keep your server secure.
If it is popular, the IPFS users seed it to each other so your load is still manageable.
Back in my day...
That's your 100K image 10 times a second, or 600 times a minute.
You could also just like, run a caching server on a 5$ VPS.
Realistically this 'oh no I got hammered by HN' case is something that is irrelevant anyway. If you're really worried about it, don't host large image files, sorted. The "old internet" didn't have that stuff anyway because we were all on slow connections, 100KB took 10+ seconds to load on dialup.
You can very easily host things on a paid server though, which these days cost very little, use another image host or S3/similar when if things went crazy popular.
No, the worst outcome is that your home internet connection is being effectively DDoSed.
You could probably apply some QoS on your router to minimize the effect, of course.
This isn't feasible for a large chunk of the population, mainly because ISPs like Comcast love to give you 500 mbps down while limiting your upload to a pitiful 10 mbps.
Host a single 100K image that hits the front page of reddit and your home internet gets hugged to death.