mapreduce.job.reduce.slowstart.completedmaps=0.8 is a hack not a permanent solution. If the job is very big, even 0.8 may not server the purpose.
reducing the no. of mappers by increasing the split size will lead to more spills on local disk.
This is a basic M/R feature that if reducers are awaiting on Mappers to finish, schedulers should pre empt some of the reducers. we are running much bigger job in other cluster with cloudera CDH3U6 (very old) and its running fine.