The wd1010_device didn't exist at the time the Rainbow was brought up. It's not uncommon to do a workaround in MAME and then have to go back and do it correctly.
I'll have to give it a shot when I find some time...
wd1000_device and wd1010_device appear to be even more limited implementations of the WD[12]0[10]0 that are used in a couple of places. Neither look to be sufficiently robust to replace wd2010. The wd2010 could likely replace both of them, but the interfaces are enough different that I'm not sure I want to bite off doing that.