Given a polygon $(P_1)$ and a point $(P_2)$ on the polygons hull, I want to find a maximal circle $(C)$ inscribed in $P_1$ which touches $P_2$. I'm looking for a fast way to find $C$ given arbitrary $P_1$ and $P_2$.
My naive approximation-approach is calculating a line through $P_2$ which is orthogonal to the corresponding hull-segment of $P_1$. Then calculating the intersections of this line with $P_2$ and scaling down the vector from $P_2$ to the closest intersection point until the bounding circle of the scaled down vector has no intersections with $P_1$ other than $P_2$.

Suppose your point $P_2=(x_2,y_2)$ lies on a polygon edge $a_2x+b_2y+c_2=0$ (which can be computed from polygon corners very cheaply). Now your circles touching the polygon in that point are all of the form
$$x^2+y^2-(2x_2+\lambda a_2)x-(2y_2+\lambda b_2)y+(x_2^2+y_2^2-\lambda c_2)=0$$
For $\lambda=0$ you get the point itself, as a circle of radius zero. For $\lim_{\lambda\to\pm\infty}$ the equation approaches the line, as a circle of infinite radius. And in between you have all the circles touching the line in that point.
So if you want a circle touching a specific corner of your polygon, that becomes very cheap now. Plug the $x$ and $y$ coordinates of that point into your equation, solve for $\lambda$ and you have the equation of the circle, with a single division as the most complicated arithmetic operation. You can actually solve for $\lambda$ at the symbolic level, so that you plug the coordinates into something that has already precomputed as much as possible.
$$\lambda=\frac{(x-x_2)^2+(y-y_2)^2}{a_2x+b_2y+c_2}$$
Reading the center and radius from that equation would be extra work, as it would involve square roots. So you might want to iterate over all corners first, and pick the one with the smallest $\lvert\lambda\rvert$ then read details off that result of you need to. You also might want to pay attention to the signs of your $(a_2,b_2)$ vector because that's a normal vector for your line which defines an orientation. Depending on that orientation positive $\lambda$ will be inside and negative outside the polygon or vice versa. If you can get the computation of the edge done consistently, you'll only need a single experiment to tell which sign is which. And if you dislike the result, just negate all three of $(a_2,b_2,c_2)$ which results in a different equation for the same line.
One thing that makes this complicated is the fact that you might have the inscribed circle not defined by it passing through one of the corners of the polygon, but instead touching one of the edges. That's complicated in two ways: on the one hand you need an equation for circle touching line, which will contain $\lambda^2$ because you get one touching solution on each side of the polygonal line, and on the other hand you have to deal with the fact that you are dealing with line segments, not complete lines. So you might not need to look at the touching circle at all if you know that the touching point would be outside the segment.
One thing that should work: for two consecutive corners $P_{i}$ and $P_{i+1}$, consider $(1-\mu)P_i+\mu P_{i+1}$ as a point on that segment, with $0\le\mu\le1$. Now if you plug this generic point into the equation for computing $\lambda$:
$$ \lambda=\frac{ \Bigl(\bigl(x_i+(x_{i+1}-x_i)\mu\bigr)-x_2\Bigr)^2+ \Bigl(\bigl(y_i+(y_{i+1}-y_i)\mu\bigr)-y_2\Bigr)^2} {a_2\bigl(x_i+(x_{i+1}-x_i)\mu\bigr)+ b_2\bigl(y_i+(y_{i+1}-y_i)\mu\bigr)+c_2} $$
Next you can look at the derivative $\frac{\partial\lambda}{\partial\mu}$ of that. If you have a touching situation on the segment with a positive $\lambda$, then as the defining point glides along the segment $\lambda$ would get first smaller then larger again. Which means the derivative would be negative for $\mu=0$ and positive for $\mu=1$. For negative $\lambda$ it would be opposite of course, but in either case you would observe a change of sign. And at the touching position itself the sign would be zero, indicating an extremal value (minimum or maximum) of $\lambda$.
The derivative is simple in terms of involved operations. Again you can get away with just basic arithmetic operations: addition, subtraction, multiplication and a single division. However at least coming from my computer algebra system there is so many of them that I don't include the formula here. If you do the differentiation youself you might be able to preserve more of the structure, keeping equations simpler.
My original thought was that you might want to watch out for that sign difference, and avoid computing the square root if the sign doesn't change. But actually a StackOverflow answer suggests that square roots are not significantly slower than divisions. So perhaps you want to follow the above approach after all, and then use the resulting $\mu$ to decide whether the touching point would lie on the segment and if so compute $\lambda$ from that.