That looks quite pretty
You're right, though; there is a hard edge on one side of a circle.
If you're using the radial gradient to overlay the shadow, make the object larger. They gradient shader itself takes window co-ordinates so it doesn't care where your shape is or how large it is, just as long as it's where it wants to draw (see the rectangle in the shader example).
I'm confused as to even what I was saying now so I've thrown together a few images to help say what I'm currently thinking.
Using a black circle with gradient edge, we can create crescents as in your picture. This would be done like so:
Here's the circle in (faded) red so you can see what I multiplied:
If you wanted to create a
gibbous, which is the opposite, you need the opposite gradient like so:
Again, here's the same thing in red:
Or, instead of multiplying the ring in black, you can multiply the circle (the red on from the second picture earlier) in white.