I understand the frustration, but I can understand this is not high priority for Mojang to fix this. As I said earlier in my previous comment there are workarounds, even for those running vanilla servers. As many users reported, these errors will stop a few days / weeks (depending on your player's activity) after your server is migrated to 1.16. And it only affects partially created villages. That bug won't affect player's builds.
I've been doing extensive testing around that specific problem. First, as James and Richard mentioned, villages that are on the edge of the map or containing chunks that have not been loaded are affected. I attached a few screenshots as examples.
I tested successfully the following three workarounds:
Before the upgrade, if you have access to a dynamic map such as dynmap, identify the villages that contain chunks that are not loaded (i.e. on the edge of the map or in areas that are not entirely loaded) and preload them before the upgrade by simply moving a player at the center of the village
After the upgrade, fix the corrupted chunks by using the Worldedit following commands:
# Select your area using the wand or //pos1 and //pos2 commands
# Regenerate the area
//regen
If your running a pure vanilla server and therefore don't have access to Worldedit, identify the chunk(s) affected by the bug using F3 in game, stop the server, backup the world folder, then delete the affected chunks using MCASelector (https://github.com/Querz/mcaselector/releases). As an example, here is the command you can use if your server does not have a GUI.
java -Xms1G -Xmx1G -jar mcaselector-1.12.jar --headless --mode delete --world /mnt/minecraft/minecraft-server/world/region/ --query "xPos >= 6 AND xPos <= 15 AND zPos >= -126 AND zPos <= -114"
Regarding my server, it's running Paper and I've never used any snapshot.
The world was created in 1.14.4, then upgraded to 1.15.1, then 1.15.2, then 1.16.1.
EDIT - 2 weeks after I migrated
Even if I preloaded all my villages, I got these errors a few times after the upgrade when my players went into specific areas of the map (I still don't understand which areas triggered that error...). I've not observed any data corruption though, so AFAIK it was just noise in the server's console. It's been more than 2 weeks I migrated my server and it's been a few days without any error in the server's console.
I upgraded by server from 1.16.5 to 1.17.1 and this is when the problem started. My server is hosted with an Cloud provider. I discovered that most players don't complain because the "fall" is very quick. But some users with a bad internet connexion or low-end PCs will experience that issue quite badly, up to a point they are kicked-out of the server.
When that happens, the server reports the following message:
I restored a 1.17.1 nightly backup of the server on a virtual machine located on my powerful gaming PC and I don't see any difference: I can still notice a small "fall" when joining the server.
Then, I restored a backup from 1.16.5 on the same test server and I could not see any issue. No black screen, no fall.
Definitely, that issue has been introduced in 1.17.1