Variable fonts support several variations of a typeface from a single file. Support older browsers through progressive enhancement.
Here’s a gem that just has to be widely disseminated. Jukka Korpela has written a nice guide to using special characters in HTML. I reckon it covers the problem pretty comprehensively, so rather than try to write one myself, I reckon everyone should check out his guide.