This is true if we assume that the vector bundles has constant rank (it is clearly false if we allow vector bundles to have different ranks at different points). Let $U_1$ be an open dense subset of $X$ over which $E$ is trivial, and let $H_1$ be a hypersurface containing the complement of $U_1$. Then $E$ is trivial over $X \smallsetminus H_1$. Now, it is easy to see that there exists an open subset $U_2$ of $X$, containing the generic points of all the components of $H_1$, over which $E$ is trivial (this follows from the fact that a projective module of constant rank over a semi-local ring is free). Let $H_2$ be a hypersurface in $X$ containing the complement of $U_2$, but not containing any component of $H_1$. Then we let $U_3$ be an open subset of $X$ containing the generic points of the components of $H_1 \cap H_2$, and let $H_3$ be a hypersurface containing the complement of $U_3$, but not the generic points of the components of $H_1 \cap H_2$. After we get to $H_{n+1}$, the intersection $H_1 \cap \dots \cap H_{n+1}$ will be empty, and the complements of the $H_i$ will give the desired cover.
[Edit]: now that I think about it, you don't even need the hypersurfaces, just define the $H_i$ to be complement of the $U_i$.