One enhancement that could speed up both areal weighting / dasymetric mapping is to use Dask GeoPandas instead of GeoPandas for the underlying geometric calculations.
However, the GeoPandas overlay function used by areal weighting is not yet available in Dask GeoPandas.
To move this issue forwards, the overlay function must be merged into Dask GeoPandas.
This would also involve merging DataFrames based on the index, which mean #5 would be resolved.