Here's you a great karate exercise that will improve your kata as well as your self-defense. You will need a partner, a kata, and a set of self-defense techniques (goshinjutsu).
Here's what you do - you do your kata and at random times your partner will interrupt your kata by attacking you in various ways - a bearhug, wrist grab, etc... The attack doesn't have to have anything to do with the kata or its bunkai. It's just a random attack at some inopportune time while you're doing something else.
When your partner disrupts your kata by attacking, you do an appropriate self-defense response from your set of goshinjutsu, then return to your kata right where you left off.
This way you get to practice your goshinjutsu from weird times and positions and you have to maintain the presence of mind to jump right back into the kata when you have dispatched each attack.
Try this for a change of pace and let me know what you think.