I'm using numerical methods of nonlinear differential equations of motion of mechanical systems containing flexible segments. The problem arises in solving the so-called stiff systems of strong nonlinear ODE's.
You would need some stiffly-stable or even better L-stable algorithm. At least in multibody dynamics, where we have to deal often with stiff problems, Gear's methods are a popular choice for ODEs, but also Shampine (as mentioned before), Newmark and alpha-methods. A comprehensive overview can be found in KINEMATIC AND DYNAMIC SIMULATION OFMULTIBODY SYSTEMS -The Real-Time Challenge- by Javier Garcia de Jalon and Eduardo Bayo (Chapter 7).
I would use IMEX2(3)(4) or similar (Implicit BDF2(3)(4) for linear dissipative terms and Explicit extrapolated Adams-Bashforth2(3)(4) for the nonlinear ones). Starting with Runge-Kutta's 2, 3 or 4, respectively.
As others mentioned, there is no straightforward "recipe", the answer depends on the type of nonlinearity your equations have, the number of equations, etc. If you solve it by Matlab or in a similar environment, I'd first try the built-in ode15s function, which is a variant of a vairable order BDF (Gear)-method with automatic step-size control. Otherwise, if you have to implement it, I'd go for a low-order diagonally implicit Runge-Kutta-method (look for the keywords DIRK, SDIRK, ESDIRK) with an (Runge-Kutta-Fehlberg-type) embedded error estimator.
In the book "Solving Ordinary Differential Equations II - Stiff and Differential-Algebraic Problems" of Hairer and Wanner, stiff ODEs are extensively discussed. They also provide Fortran Codes for stiff ODEs at the website "http://www.unige.ch/~hairer/software.html". For example, their RADAU code is A-stable and L-stable and should cope with most stiff ODEs.
If you are not using a off the shelf packaged program and you are programming yourself from scratch, I recommend starting with Backward Euler and see how it does. Then go to Adams Bashforth and other multi-step algorithms. I'd also compute how stiff they are apriori. It can be a real pain to program and even the Backward Euler is not very fun. However, I know I've used pseudo-code online to put it together. Good luck!!