Here is my take on the whole network design.
I don't know close to enough information on your entire network. Such as needs of users location of equipment or even why there originally a cascading switch network setup.
But here are some options:
Option 1) Your Design.
What you have will work and depending on the bandwidth needs of all users there shouldn't be a problem. With just replacing the one switch with a router will break up the broadcast domain into multiple ports eliminating some traffic across the network.
There is the problem of having redirected traffic on Subnet C to contend with. But there is a larger problem if one of your switches fail in subnet C the entire network will suffer lack of External access.
Option 2) Moving Of Demarc.
Demarc Location
This option will only consist of getting the telco (ISP) to move the demarc location. This could be expensive but not expensive as an entire redesign of the network. It will allow for a more central location of the core. This option could also not be available due to the restraints on geographical settings of equipment. I don't know enough about your setup to make that determination.
Option 3) Network Redesign.
This would be the ultimate recommendation because currently how your network is setup it has limited scalability and upgrade options. This can be done over time but would be expensive.