This feels like a bit too much moving around to me, and I think it will be very difficult if you do not have a car, because you'll spend a large portion of your time either on a bus/train or waiting for a bus/train--plus all the time required to pack/unpack and check out of and into hotels. Even with a car, I wouldn't want that many stops.
Most of the time you will pay a great deal extra to pick a car up in one country and drop it off in another, though of course you need to check with a few rental agencies to see whether that applies in this case. If, as I suspect, you find that a car is only viable between Zagreb and Dubrovnik, spend some time Googling to see what sort of bus and train schedules you turn up for your trip segments through Bosnia-Hercegovina and Serbia. And be aware that cross-border buses tend to be infrequent, so you may need to buy the Dubrovnik-Mostar and Sarajevo-Belgrade tickets ahead of time. I have seen such buses sell out, and I assume the possibility increases during holiday periods. For that matter, even the intra-country legs of your trip may be at risk of selling out.
BusCroatia.com was a pretty reliable source for me on buses within Croatia. In B-H and Serbia, it may be more difficult to get solid schedule information before you are in country.
I don't know what range of weather you can expect in late December, though I think you can be pretty much guaranteed of "not warm", and rain will fall on average every 2 or 3 days. I urge you to check wunderground.com for actual day-by-day weather in recent years to see what range you need to prepare for.
I wouldn't prepay for the trip to Plitvice, just in case you get unlucky with the weather. It is lovely, but it wouldn't be fun in heavy rain. Also note that the usual recommendation for Plitvice is to spend the night before your visit near the park so you can get a very early start due to the expected severe overcrowding. In late December, I assume the number of visitors will be way down, so I hope you'll be OK doing the park as a day-trip from Zagreb. One advantage of doing so is that if the weather causes you to skip Plitvice, you'll find enough to do in Zagreb, which has a variety of museums as well as a nice historic district.
If you have extra time while in Belgrade, Novi Sad can be visited as a side-trip. The historic district is quite interesting, though you'll probably want to take a bus or taxi from the bus station.