Before you proceed:
1) Consider if you need the new features in firmware 2.1.6, which are support for remote stations and flow sensor. If you don’t need these features, there is no need to go through the trouble to use an external programmer. You can still update to firmware 2.1.5 through the USB port on OS 2.1.
We have a number of OS 2.1 customers who want to upgrade to firmware 2.1.6 simply because it’s the newest firmware. The fact is, if you don’t need remote stations and flow sensor, it’s perfectly fine staying with 2.1.5.
2) Since you have the DIY version, it’s assume that you have the hardware and software skills required. I understand it’s a pain to install USBasp driver for Windows 10, but at the time OS 2.1 was designed, it was way before Windows 10 came out. How could we predict what’s going to happen in the future?
3) You are right that since the microcontroller is ATmega644 (not the -P version) you should use -p m644 parameter when using avrdude. I am not sure why you are getting an initialization failed error. Perhaps you can post a picture about the pin header and programmer plug so I can check visually if anything is wrong.