Assuming an auto seat blocking feature is difiicult to implement (which indeed could be the case considering how complex the IT system is) there should be only simple tweak which should solve the issue to a large extend:
stop automatically releasing all seats in the premium section at T-24h and only allow check-in agents / gate agents to assign those seats if the plane is full.
As mosly Es/SEs sit in the premium section, this would avoid the scenario where there are empty seats in the back while the forward section is crammed.