I just noticed this thread and it looks like you may have reached a solution, so please ignore this post if you are happy with what you now have...
I recently needed to accomplish the same thing, to switch between English and Cyrillic keyboard mappings (well, 15 months ago). With the help of LQ member bormant I was able to arrive at a simple and painless solution that I now use almost daily.
I needed to support the alternate keymap in both console and X applications, which require slightly different methods. I set them both to use the Caps-lock key as the switch and the transition is seamless.
I decided on the phonetic mappings and find it very easy use. I will not likely ever use a true Cyrillic, йцукен, keyboard and find the phonetic quite natural for my uses,
You can find my original thread with lots of helpful information
here. I hope it is helpful!
Удачи!