In the first scenario, the best advice I can give you is to lose to them, record a replay of your loss, and try to figure out why you lost to them when you watch it later. The problem with fighting games is that there is no quick way to improve, you often just have to lose a lot and then figure out what you could have done differently. To use a personal example, I fought a really good Olimar player yesterday as Ryu, and he just did not seem to care about the Shakunetsu Hadouken, my main pressure tool. After watching a replay of our match, I realized that whenever I used Shakunetsu Hadouken, he would throw a red Pikmin, who are immune to fire based attacks, if he had one to eat up my attack and keep all his Pikmin alive. With that in mind, I realized that I should have been throwing more regular and True Hadoukens at him if he had a red Pikmin since those moves don't have a fire effect. When you watch your replays, you always need to try to figure out what your opponent is doing to destroy you and what mistakes you are making.
As for the second one, you just need to figure out a way to make them attack. Characters with projectiles have it easy as they can force their opponent to start avoiding their projectiles. If you play a character that lacks that, often just getting near them is enough to force a reaction out of them, which you can anticipate and punish.