Someone told you a wrong rule. Something as verb inversion does not exist in German. Nor does ABER+SUBJECT+VERB.
German clauses by default follow this word order scheme:
- topic (only in main clauses)
- V2 verb of the predicate (only in main clauses)
- pronoun accusative object
- dative object
- temporal adverbial
- causal adverbial
- modal adverbial
- locational adverbial
- noun accusative object
- directional adverbial or prepositional object
- all remaining predicate verbs (and prefixes)
- a comparison or an adverbial of your choice
So if you have a main clause, that first item in front of the V2 verb isn't the subject. It's the topic — the issue we talk about. And any item but the V2 verb itself may be the topic. Let me show you with a simple example:
Wir fahren im Sommer an die See. — We go to the sea in summer.
Im Sommer fahren wir an die See. — In summer, we go to the sea.
An die See fahren wir im Sommer. — To the sea, we go in summer.
So while in English the topic is completely optional and is put into a small extra clause in front of the subject, German does not do that. All German main clauses are topicalized. The subject isn't special. It's a topic as any other topic is.
The conjuction aber, as the conjuctions und and oder connect two clauses of the same kind. So if the first clause is a main clause, the connected clause has to be a main clause as well.
In your example
Zwar hatte ich in der letzten Zeit viel trainiert, aber ganz fit war ich noch nicht.
the topic of the first main clause is the causal adverbial zwar, and the topic of the second main clause is the modal adverbial ganz fit. It's also correct to write
In der letzten Zeit hatte ich zwar viel trainiert, aber ich war noch nicht ganz fit.
Viel trainiert hatte ich zwar in der letzten Zeit, aber noch nicht ganz fit war ich.
though the latter topic is rather unusual. There are more permutations of course.
The difference is in the issue that we talk about. The first main clause explains the context, and in your example sentence, the second main clause sets the topic ganz fit, so that's the issue ich complains about.