Preheat oven to 500°. Using a vegetable peeler, zest orange. Julienne half the zest, set aside, and cut orange into quarters. Rinse ducks, pat dry, and season inside and out with salt and pepper. Tuck wings under the back, and stuff each duck with 1 orange quarter, 1 garlic clove, 1 onion quarter, and 1 sprig rosemary. Tie legs with kitchen string. Place ducks in a large roasting pan and brush with butter. Roast until skin is crisp, 25–30 minutes. Remove ducks from pan.
Place pan over medium-high heat and cook just until juices are caramelized, about 5 minutes. Skim fat, then deglaze with madeira and stock, scraping bits from bottom of pan. Add orange zest and cook over medium heat until reduced by about one-third, 3–5 minutes.
Combine sugar and 1 tbsp. water in a small saucepan. Cook over medium heat until golden, 2–3 minutes. Remove from heat, stir in vinegar, then reduced pan juices. Return to heat and cook for 5–8 minutes. Top ducks with sauce and serve with roasted potatoes, if desired.