In downtown Columbus Ohio the only internet provider (Spectrum) maxes out at maybe 5 mbps up (down 50-100x that), it's not just a rural issue, non-competitive ISPs even in urban cities want you to pay for business accounts to get any kind of upload whatsoever
Check out Breezeline (previously WOW), they cover nearly the entirety of Columbus and many of the surrounding areas. The minimum plan has 10 up but you can get ~50 up with the standard consumer plans. Bit shitty to deal with though, even for an ISP.
Is it really a technical capacity issue, or just market segmentation? Usually, it's possible to get so-called business service with higher upload bandwidth, even at residential addresses.
I'm in NYC, Spectrum is my ISP. 500mb/s down, 10mb/s up. I used to live in a building with symmetric 1G fiber from Verizon, but they don't serve my building.
I'm at 300/10. Actual upload is a bit higher I think, it seems they try and account for IPv4 header overhead or something. If I pay some absolutely bananas monthly fee I can get 30mbps up advertised. That isn't really fast enough for me to notice the difference and the service is unreliable anyways.