It always makes me confused when someone says a rocket debris is uncontrollable.
In other words, can we say a bullet is uncontrollable after shooting? It depends on whether the shooter has a good shooting skill.
It's controlled if you intentionally start the deorbit like most rockets do. Turn around 180 degrees and light the engines to rapidly slow down and fall out of orbit over a specific area. The CZ5B didn't do this, it just sat in orbit and experienced drag to slow-down eventually in the future.
I know the 1st stage of CZ5B is very big. But it also doesn't take too much time to reenter which means the debris is not too much affected by the change of atmosphere.
The point is that no one knows WHEN it well re-enter, including China. The CZ5B was left in orbit to slowly decay from drag, similar to the SpaceX dragon trunk that recently re-entered and wasn't great. They should both be criticized for this, though the CZ5B is massive in comparison to the Dragon trunk.
Orbital decay happens because of drag on the vehicle which comes from air/atmosphere which change at various altitudes. It is quite impossible for anyone to accurately predict the levels of drag that a tumbling rocket body with uncertain and unknown orientation (and therefore drag forces). China is simply relying on probability that says they will most likely hit an ocean because they cover most of Earth, doesn't mean it's any sort of skill.
There are so many factors that stack up and impact the deorbit time it is truly impossible they knew where it would be. For example you mention weather forecasting has gotten better - but do you think you can accurately predict the winds down to the exact speed for the next ~6 days? No, not perfectly. Keep in mind these things orbit the Earth once every ~90 minutes, so over 6 days if you are off by even 0.5% then that means hitting the other side of the world.
Of course Western media is making a huge deal out of this and likely won't be as harsh on the recent SpaceX incident, but that doesn't mean either SpaceX or China are innocent in doing this.