Sorry to bump a dead thread, but I was finally able to beat Johann today.
Earlier on this afternoon I did a search of the forums and copied all the advice I could find about taking out Johann, then printed it all up.
I'd like to thank the following people for giving such good advice (in many separate threads):
Average Joe
Shining Kooksu
Firebomber
Takumaji
Shadowland
neojedi
toy_brain
Most of the advice centered on 'keep your distance, jump in with a kick and a combo, then jump out, get to know his moves, hit him with a super when he's vulnerable'.
I tried that, and I noticed I was getting better, but I still wasn't able to finish him off.
I finally thought of a method that might work. I tried it and it did. It's really really easy, and I wished I had thought of it earlier. It's a pretty cheap way to beat him, but it's convenient if you want to see all the endings.
I switched the timer to infinite so that I would be able to take my time and not have to worry about being rushed, or losing because of a lower health bar.
Then I switched the power meter to MAX.
That means his power meter is maxed out too, but that's OK, his supers are easy to predict and block.
After I started playing Johann, I played keep away like a lot of people suggested, then hit him with a super, backed away, waited for him to let himself be open again, then hit him with another super.
I kicked his ass in no-time flat.
Thanks again guys.