There's no sense in going all the way to Charlottenburg or to Hauptbahnhof with the bus. I would take the TXL bus to nearby Beusselstrasse or the X9 or 109 to Jungfernheide and then take the Ring S-Bahn (S41) CLOCKWISE (the train indicator may say Gesundbrunnen or Storkower Str.) to OSTKREUZ. Change there to the S9 to Schönefeld.
Another option - maybe faster - is the X9/109 to Bahnhof Zoo (the berlin-airport.de website says it's only 19 minutes but I don't believe it) and then the Airport Express regional train to Schönefeld (32 minutes). The disadvantage with this routing is that the Airport Express runs only every half hour, so you could end up cooling your heels at zoo for a long time. The S-Bahns run every few minutes, so they may be somewhat slower (more stations), but you're moving not standing.