I don't think "is very inefficient" is correct. There is a real performance impact, but the size of that impact is very dependent on workload and configuration. It is easy to add or remove the write intent logging while the array is active, so there is minimal cost in experimenting to see what impact it really has in an given usage.
And MD most certainly does detect an unclean shutdown and will validate all parity block on restart.
But you are right that it doesn't have battery backup. If fast NVRAM were available on commodity server hardware, I suspect we would get support for it in md/raid5 in fairly short order.