Have you considered finding the intersections using an implicit form for the circles, $$\frac{x^2}{r^2} + \frac{y^2}{r^2} + ax + by + c = 0?$$ This representation doesn't have any coefficients that diverge as the circle approaches a straight line. To find intersections, you'll have to solve a quadratic equation whose leading coefficient could be zero or arbitrarily close to it, but the alternative form of the quadratic formula should be able to deal with that robustly.
You'll then have to do some jiggery-pokery to figure out whether the intersection points lie within the arcs. If the arc's bending angle is smaller than $\pi$, a projection onto the line joining the endpoints will suffice.
(Disclaimer: While all of this feels like it should work, I haven't analyzed it in any detail. Also, there could still be a problem when the circle is close to a line and you want the longer arc. But I can't imagine that's a case that would turn up in any practical application.)
Update: For a concrete example, here is the equation for a circular arc passing through the three points $(0,0)$, $(0.5, h)$, and $(1,0)$: $$\kappa^2 x^2 + \kappa^2 y^2 - \kappa^2 x - 2\eta y = 0,$$ where $$\begin{align}\kappa &= \frac{8h}{4h^2 + 1}, \\ \eta &= \frac{8h(4h^2-1)}{(4h^2+1)^2}.\end{align}$$ As you can see, the coefficients remain bounded as $h \to 0$.
Update 2: Wait, that equation becomes trivial if $h = 0$, which is bad. We really want something like $x^2/r + y^2/r + ax + by + c,$ i.e. multiply the previous expression through by $r$. Then for the same example, our equation becomes $$\kappa x^2 + \kappa y^2 - \kappa x - 2\eta' y = 0,$$ where $\eta' = (4h^2-1)/(4h^2+1)$. Here are some explicit values.
$h = 1/2$: $$2 x^2 + 2 y^2 - 2 x = 0,$$ $h = 0.01$: $$0.07997 x^2 + 0.07997 y^2 - 0.07997 x + 1.998 y = 0,$$ $h = 0$: $$2 y = 0.$$
By the way, in this format, the linear terms will always be simply $-2(x_0/r)x$ and $-2(y_0/r)y$, where the center of the circle is at $(x_0,y_0)$. As the center goes to infinity but the endpoints remain fixed, these coefficients remain bounded and nonzero (i.e. not both zero).
Given start angles and end angles you get
sX = offsetX + radius * cos(startAngle * PI/180)
sY = offsetY + radius * sin(startAngle * PI/180)
eX = offsetX + radius * cos(endAngle * PI/180)
eY = offsetY + radius * sin(endAngle * PI/180)
Multiplying an angle by PI/180
converts degrees to radians.
Best Answer
The plane of the arc is found from one of the points with $d=\hat{n} \cdot \vec{p}_1$ such that any point $\vec{r}=(x,y,z)$ belongs to the plane if $$ \hat{n} \cdot \vec{r} = d$$ where $\hat{n}$ is the unit normal vector.
The midpoint of the two points is $$\vec{p}_m = \frac{\vec{p}_1 + \vec{p}_2}{2} $$
Next we need two unit vectors on the plane to define planar coordinates. Use $$\hat{u} = {\rm unitvector}(\vec{p}_2-\vec{p}_1) $$ $$ \hat{v} = \hat{n} \times \hat{u} $$
We need the center of the arc point on the plane, and we can find it by moving from the mid point $\vec{p}_m$ along the direction $\vec{v}$ by $$h = \frac{ \ell^2}{2 r}$$ where $\ell = \| \vec{p}_2 - \vec{p}_1 \|$.
The figure below shows the arc and the height calculation from the chord length $\ell$ and radius $r$.
So the center is at $$\vec{p}_c = \vec{p}_m + (h-r) \hat{v}$$
The included angle of the arc is $$\theta = 2 \sin^{-1} \left( \frac{\ell}{2 r} \right) $$
Finally the arc is parametrically defined as $$\vec{r}(t) = \vec{p}_c + {\rm Rot}(\hat{n}, -\frac{\theta}{2} + t \theta) \hat{v} r $$