I don't know about state-of-the-art and I'm not sure if this is the kind of thing you were looking for...however in my two first papers I've used the shooting method in a parameter space that was originally too big (4 and 6 dimensions if I recall correctly) and the problem was that with randomly chosen parameters the numerical solver would not reach the other end of the domain and so I could not use a root-finding algorithm to search for the correct initial conditions.

The problem was there were unstable directions in the ODE and thus even with the correct initial conditions, the numerical noise would grow so large that you would not reach the other side.

My solution was to find more natural variables to use (using an algebraic similarity solution that satisfies the boundary conditions) and to rewrite the system in terms of the new variables. In the new variables the similarity solution is a fixed point and one can reach this fixed point only via its **stable manifold**, which had a lower dimension than the original space (in my case...). This allowed the root-finding algorithm to kick in and find a solution.

OK, This was a little vague. Here are the two papers (shameless plug):

http://arxiv.org/abs/0711.0730

http://arxiv.org/abs/0711.0734

(Added later:)

Recently I've been working on another problem that has highly unstable directions and there I use the *collocation* method, which (AFAIK) basically amounts so splitting the domain into many smaller part, doing shooting on each part, and trying to get the pieces to match up. If the problem is linear, this is a simple linear problem, if the problem isn't linear you need a non-linear root finder. I didn't write the code for the collocation, Matlab does it for me...look up BVP4C or BVP5C.

In writing this answer, I looked for "collocation method" online and found very little that seemed relevant. So I can only refer you to the Matlab function. perhaps someone else can find a reference that is relevant here.