This is a chicken and egg problem. Reduce public services in rural areas, get population outflow, reduce public services even more.
You can stop the vicious circle by increasing the services back to make it attractive and at the same time densify rural cities to make them less costly to cater to.
This does not work. People live in rural areas because they don't want density. That is the whole point. (Alternatively, it might be because they are too poor to move. However, densifying/gentrifying an area does not fix that--it just boots people to a different poor rural area.)
You are trying to make rural areas viable by making them a city. You might as well just improve the situation in an already existing city.
People live in rural areas for a multitude or reasons. Not all rural towns are like in the US, some have streets, some are dense.
In Europe, a lot of the small towns are pretty dense, due to the historical need to preserve agricultural land and have a community to rely on[0]. In ex-soviet countries, you will often see in the countryside condominiums, as it was then seen as much more efficient and better community-wise.
So yes, if you densify rural towns to reduce sprawl, it becomes much easier to provide good services like doctors, groceries and schools.
You can stop the vicious circle by increasing the services back to make it attractive and at the same time densify rural cities to make them less costly to cater to.