From a broad perspective, you seem right on target to me. The biggest difficulties with は vs が are defining what a “topic” and “subject” are and determining when to use one or the other when both are grammatically applicable. I find 好き and the classic problems it causes in romance fiction to be a great example of the two, especially since the Japanese trend of dropping subjects and objects is an absolute pain in these situations.
好きです alone technically means “to be liked.” In almost any basic learning source, we’re taught to use が with 好き and not は, despite は technically being acceptable assuming you understand what it does.「リンゴは好きです」and「リンゴが好きです」are both grammatically sound, but provide two completely different pictures.
The general formula we’re taught is “Person は Object/Person が 好きです.” This, however, is usually translated to “I like _______” because it sounds more natural in English. Learning this way, however, cheats from us early grasping of the topic vs subject concept, in addition to は’s “hidden” purpose.
With「リンゴが好きです」, we have a complete sentence. However, if someone walked up to you and said or randomly spouted out mid-conversation, “Apples are liked,” it would be somewhat confusing, right? In comes “Person は.” Sentences with passive and transitive verbs in general are better for illustrating the difference. Adding “Person は” makes the sentence “Apples are liked by me.” This brilliantly depicts that the person is not the subject of the sentence, whereas “I like apples” misleads English speakers because, grammatically, we are placing ourselves as the subject using a transitive verb and enacted our enjoyment on an object, the apple. は, as you stated, provides our topic (things liked by me). This, however, is only one function of は.
In the other sentence, 「リンゴは好きです」, は is providing two functions. First, it is shifting the subject of conversation. Currently, we don’t have context about what was before this statement, but we now know that the conversation will be talking about apples. The speaker would likely continue by describing the attributes of apples that make them enjoyable.
If we give a context sentence beforehand, 「私はイチゴが嫌い」, the は of the original sentence becomes a contrast indicator. The topic of the first sentence was “Fruits disliked by me,” and the topic of the second sentence is “Fruits liked by me.” We remain the topical person, but the topic itself has changed due to its switch into the negative.
This contrast is probably one of the more dangerous qualities of は, as using it when referring to a very specific topic can imply a contrast towards anything involved without being spoken. For example, saying 「髪はきれいです」to a girl could imply that her hair is the only thing pretty about her.
が, (assuming you know that it can also be used as a conjunction), is a 格助詞 like を、に、and で, so it behaves much more like a normal particle. As you mentioned, it provides new ideas or thoughts about an unchanging topic. Often times, only one が will need to be used, as any information provided will then therefore be known and no longer necessary to state. I don’t particularly see か as an “emphasis” marker per say, but rather a “clarification” marker.
If someone asks 「だれが皿を壊した」, replying 「私が皿を壊した」isn’t particularly emphasizing yourself, but simply attaching yourself to the verb as the subject. Because in Japanese the subject is often omitted after being clarified, it then feels overbearing to constantly repeat it, hence the emphasis. It’s similar to a common problem English student have in essays where every single sentence starts with “I.” We have to use clauses and other tricks with sentence structure in order to move I later into the sentence, but the Japanese just stop.
For an English example that actually works (not exactly, but the same gist), the questions “Do you _____,” has a similar effects. If someone asks me, “Do you play piano,” I can reply a measure number of ways of varying correctness. “I do play piano” would provide emphasis, “I do” or “I play piano” give clear affirmative, and “Yes” provides a simple affirmative. The similar Japanese responses would be (respectively) 「私がピアノを弾きます」、「ピアノを弾きます」、「弾きます」. While 「はい」 would technically be an equivalent to “Yes,” it can often simply mean recognition of hearing/understanding the question depending on the person you’re talking to.
は introduces the topic (the content in front of the particle is necessary to understand the beginning of the segment of conversation but shouldn’t be necessary from then on), indicates contrast within the same topic, and can indicate a subtle contrast to external things related to the topic but not introduced.
が tells you what is doing the verb and usually never needs to be repeated, as labeling the same information with it multiple times provides automatic emphasis due to its repetition being unnecessary.
Both can be used in a simple statement if the topic itself is doing the verb, and both are required if using a が specific term (好き、嫌い、ある、いる）when the topic shifts. If one is to be used, use が if omitting the information before the particle is necessary for comprehension, use は if the information before the particle moves the conversation in a different direction or contrasts the most recent statement of information (which is usually marked by が).
Hope this helps! Sorry for the long post, but I was surprised to see that no one had replied by now! I start making text walls if I get too excited. >w<