Preheat the oven to 350 degrees F (180 degrees C).
Season the ducks generously, putting some salt in the cavity as well. Make sure you save the fat and the giblets for the gravy.
Coarsely grate half the ginger and rhubarb. Mix this in a bowl with half the sage and all the garlic and onion, and stuff the mixture inside the cavity of the ducks, ensuring there is an air cavity.
Place the ducks on a tray on top of the chopped up giblets and roast in the oven for one hour. Turn the temperature down to 300 degrees F (150 degrees C) and cook for another 1 1/2 hours until crisp and tender. The ducks are ready when the skin is crisp and the leg bones can be easily removed.
During this time you will need to drain the fat maybe 3 times into a bowl, this will separate into a clear fat which you can keep for roasting.
Once cooked allow the ducks to rest on a warmed plate while you make the sauce. Drain off any remaining fat from the roasting tray.
Pull out all the stuffing and any juices from the inside of the duck and put in the roasting tray and warm this on a low heat.
Add the Marsala and loosen all the sticky goodness from the bottom of the tray, and reduce. Add the stock and reduce to a good taste and consistency.
Pass the sauce trough a coarse sieve.
Remove the breasts from the ducks with a knife and, using your hands, remove the thighs. Arrange the breasts and thighs on a large serving plate.
Finely slice the remaining ginger and fry off in a little hot oil (or you can use the duck fat) in a non-stick pan. As the ginger begins to color, add the rest of the rhubarb, finely sliced, and the rest of the sage. Fry until crisp. Sprinkle this over the duck and drizzle with the sauce.