Here are proofs for the Riemannian and Kähler case which rely on the fact that the curvature can be seen as parallel transport around infinitesimal loops. It uses explicit deformations which are hard to build with the holonomy is further restricted, that's why this proof doesn't work for smaller homotopy groups.
Riemannian case
Let $(M,g_0)$ be a Riemannian manifold, $p\in M$, and $\mathrm{Hol}_{g_0}(p)$ be the reduced holonomy group of $g$ at $p$. We know that the associated Lie algebra $\mathfrak{hol}_{g_0}(p)$ contains every two forms $R_p^0(x\wedge y)$ where $R^0_p:\Lambda^2T_pM\to\Lambda^2T_pM$ is the Riemann curvature tensor of $g_0$ (seen as a symmetric operator on $\Lambda^2TM\simeq \mathfrak{so}(TM)$).
I will exhibit a one parameter family of Riemannian metrics $g_t$ going to $g_0$ such that $R^t_p(\Lambda^2T_pM)=\mathfrak{so}(T_pM)$ and hence $Hol_{g_t}(p)=SO(n)$.
I will use the following fact, which follows from the expression of the curvature in term of metric components :
Theorem : Let $g$ be a metric on $\mathbb{R}^n$ such that :
$$ g=\delta_{ij}dx^i\otimes dx^j+\tfrac{1}{3}\left(A_{ikjl}x^kx^ldx^i\otimes dx^j\right)+O(\|x\|^3)$$
Then the $(4,0)$-curvature tensor of $g$ a the origin is given by $A_{ikjl}dx^i\otimes dx^k\otimes dx^j\otimes dx^l$.
Now pick $n$ smooth functions $x^1,\dots,x^n$ supported in a small neighborhood of $p$ and which form a normal coordinate system in a smaller neighborhood of $p$. Set : $$g_t=g_0+\tfrac{t}{3}\left(I_{ikjl}x^kx^ldx^i\otimes dx^j\right)$$
where $I_{ikjl}=\tfrac{1}{2}\left(g(\partial_i,\partial_j)g(\partial_k,\partial_l)-g(\partial_i,\partial_l)g(\partial_k,\partial_j)\right)$ is the $(4,0)$ tensor corresponding at $p$ to the identity $I_p:\Lambda^2T_pM\to\Lambda^2T_pM$.
Since we are working in normal coordinates :
$$ g_0=\delta_{ij}dx^i\otimes dx^j+\tfrac{1}{3}\left(R^0_{ikjl}x^kx^ldx^i\otimes dx^j\right)+O(\|x\|^3)$$
and :
$$ g_t=\delta_{ij}dx^i\otimes dx^j+\tfrac{1}{3}\left((R^0_{ikjl}+tI_{ikjl})x^kx^ldx^i\otimes dx^j\right)+O(\|x\|^3)$$
It follows from the theorem above that the curvature of $g_t$ at $p$ is given by :
$R_p^t=R_p^0+t I_p$ which will be invertible as an symmetric operator on $\Lambda^2T_pM$ for all $t$ in some interval $(0,\varepsilon)$. Hence for $t\in (0,\varepsilon)$, we have that $R^t_p(\Lambda^2T_pM)=\mathfrak{so}(T_pM)$. And hence $\mathrm{Hol}_{g_t}(p)=SO(n)$.
This should actually work for the non-orientable case too. (The image of any curve which reverse the orientation will give the rest of $O(n)$.)
Kähler case
I think the proof below works however my knowledge of Kähler geometry is quite limited and I may have missed something.
First we need to understand the symmetries of the curvature tensor of a Kähler manifold $(X^m,\omega_0,J)$ with $m=\dim_\mathbb{C}X$. Its symmetries show that $R^0:\Lambda^2TM\to\Lambda^2TM$ vanishes on $(\Lambda^{1,1}TM)^\perp$ and thus can be viewed as a symmetric endomorphism $K^0:\Lambda^{1,1}TM\to \Lambda^{1,1}TM$ which we call the Kähler curvature operator. The holonomy algebra $\mathfrak{hol}_{g_0}(p)$ will contain $K^0(\Lambda^{1,1}TM)$. Note that $\Lambda^{1,1}TM\simeq\mathfrak{u}(m)$.
The Kähler curvature operator of $\mathbb{CP}^m$ is given by (Besse) :
$$I=(m+1)\mathrm{Id}_{\mathbb{R}\omega_0}+\mathrm{Id}_{(\mathbb{R}\omega_0)^\perp}. $$
The equivalent of the Theorem above should be (I haven't been able to locate a reference) :
Theorem : Let $g$ be a Kähler metric on $\mathbb{C}^m$ such that :
$$ g=\delta_{i\bar{j}}dz^i\otimes d\bar{z}^{j}+\tfrac{1}{3}\left(A_{i\bar{k}\bar{j}l}\bar{z}^kz^ldz^i\otimes d\bar{z}^{j}\right)+O(\|z\|^3)$$
Then the $(4,0)$-curvature tensor of $g$ a the origin is given by $A_{i\bar{k}\bar{j}l}dz^i\otimes d\bar{z}^k\otimes d\bar{z}^j\otimes dx^l$.
(Take my indexed formula with a grain of salt here, they might not be exactly the right one. The main point is that if the metric is of the form euclidean plus something of order 2, then this second order term is exactly the curvature; just as in the Riemannian case.)
We can find holomorphic coordinates on $(X,J)$ $(z^1,\dots,z^m)$ such that
$g_0$ has an expansion as above around $p\in X$. (There existence is proven by Moroianu in Lectures on Kähler Geometry.)
Now consider deformations of $(X,\omega_0,J)$ of the form $\omega_t=\omega_0+ti\partial\bar\partial\varphi$, where $\varphi(z)=\ln(1+|z|^2)$ near $p$ (this is the potential of the Fubini Study metric). We have the following expansion around $p$ for the associated metric :
$$ g_t=(1+t)\delta_{ij}dz^i\otimes d\bar{z}^{j}+\tfrac{1}{3}\left((K^0+tI)_{i\bar{k}\bar{j}l}\bar{z}^kz^ldz^i\otimes d\bar{z}^{j}\right)+O(\|z\|^3)$$.
So the Kähler curvature operator $K^t$ of $g_t$ at $p$ will be (some multiple of) $K^0+tI$, which will be invertible on $\Lambda^{1,1}$ for $t\in(0,\varepsilon)$. Hence $K^t(\Lambda^{1,1})=\Lambda^{1,1}$ and $\mathfrak{hol}_{g_t}(p)=\mathfrak{u}(m)$ thus $\mathrm{Hol}_{g_t}(p)=U(m)$.