Sorry to hear about your ducks. I've had similar issues with coyotes and shooting them only slows them down for a little bit. They always come back, and it's just not possible to be ready for them every night, all night long.
From what I've heard, donkeys work some of the time, but not always, and sometimes, they will kill your livestock too. Dogs seem to be about the best way to protect a flock if you are willing to dedicate that dog to living with the livestock 24/7 and not turn it into a pet. For me, that's too hard to do.
We keep our dogs in a fenced yard on the other side of the driveway from out animals. Our dogs will bark when they hear, see or smell something out there in the dark, but most of the time, we can't figure out what it is. Might be a coyote, might be a hog, might be an armadillo.
The only thing that has worked for my place, and it's worked great, is an electric fence. I decided on a 2 Joule charger because the cost was just a little more then the less powerful models, and I wanted to send a very strong message. I ran two wire lines around my pasture and small pond. It's about four acres total. The bottom wire is about 6 inches off the ground, and the top wire is about a foot higher. I also installed three ground rods, ten feet apart. Up higher, I have two rows of white ribbon fencing. It keeps the horses in and it makes the fence easy to see.
My thinking is that the coyotes have their nose close to the ground when sneaking around the farm. They are on super alert mode, sniffing and looking all over. When they get to the fence, they want to go under it. This is when they hit the wire. We've been in the house and heard them screaming when this happens. They just don't yelp, it goes on and on and on and on, as they get farther and farther away. We also see their tracks outside the fence where they dig into the ground and tear up the dirt trying to get away as fast as possible.
I can't keep the chickens inside the fence, and some of them wonder all over the place, but everyone inside the fence is safe from coyotes, foxes and stray dogs. I still lose a few birds every year, but it's so minimal that we're not 100 percent sure it's predator loss, or they just die from old age. We have well over 100 chickens, and it's probably closer to 200. We find a dead bird in and around the barn about every other month, that just seems to have died for no obvious reason. A few my wife will identify as one of our older birds, but there are too many to know who is who.
We had a hawk attack a chicken a few weeks ago. We didn't see it happen, but we heard it and by the time we got there, the hawk was sitting on the fence, too wore out to fly off, and the chickens where all squawking and carrying on. Feathers where everywhere, but we couldn't tell which one was attacked. The hawk flew up to a branch when we got too close to it, but it didn't fly very far up, and it didn't leave for awhile. We also found a hawk in the pond that looked like it was going to drown, so we got a shovel and pulled it out. It just stood there with it's wings out until it dried out enough to fly away. There where feathers everywhere, but no dead chicken that we could find.
Here are a few of our birds by our barn the other day.