Compels are used to increase the amount of story occurring, using a form of reincorporation of a player-chosen theme (i.e., an Aspect). This is often negative because we tend to tell stories where the rising action is composed of challenge and setback, but compels are not necessarily negative suggestions. Their purpose is to complicate or add nuance to the situation or to advance the action in a surprising direction. They can just as easily be positive or neutral from the character's point of view.
A space marine with the Aspect "A lover in every port"
, while trying to seduce someone, might be offered the obvious negative compel that a jilted lover shows up and causes drama. Equally, if that marine's trying to find contacts who can repair a beam rifle that's illegal to own locally, she might be offered a positive compel that she has a former lover on the station who brokers black-market services. Either way, if the player accepts the compel, the story has taken an interesting turn that the player is automatically invested in because it's tailor-made for their PC. That is the power of the compel, and it transcends simple negative challenges.
Of course, as referee I could just say the helpful contact is there. By offering a compel, I'm putting it in the player's hands to decide, and feeding the Fate point economy. Likely they'll take it, so the net effect is the same but I've added another Fate point to the economy. I don't mind being generous with opportunities for giving Fate points, and by being so I also fund their ability to turn down "positive" compels, increasing their story control (and therefore, investment). Do it enough, and the few times that they want to turn down the positive compel (and so have to pay for it) are more than made up for by the extra "free" Fate points they've been getting, taking care of the potential for it feeling unfair when they reject it. As a general rule in Fate, anything that increases the number of Fate points moving around (not just being given to the players, but also given and spent) is likely a good thing for the game.
One thing I like about the text of Diaspora is that it belabours the ways in which Fate can put the power into the players' hands (and, not-so-sneakily, take some load off the referee). One of the specific ways it does this is to point out that players can ask for compels. Hence, even a negative compel, when asked for, can be a positive thing as far as the player is concerned.
Fate has a much more narrative approach, less GM authority, and player-based plot control mechanisms. This can make for trouble transitioning from a more adversarial GMing environment.
Fate Core (and other recent Fate games such as Dresden) actually do a pretty good job of providing a suggested "menu" of powers and stunts for players to take; show them to your players and let those inform other stunt ideas through play, rather than trying to get the characters completely nailed down in advance the way you would have to in D&D.
To address the specific problems you mentioned:
The "blind sniper" problem is that in Fate, it's very easy for a cooperative party to stack multiple temporary aspect bonuses on a situation, then tag them all for a single super-successful roll regardless of innate skill.
Consider a sniper with a base skill of +0 - "has no idea what he's doing". First he hides on high ground (creating aspect "On a Grassy Knoll"). One of the other players - a tech - has made, and gives him some "Precision Armour Piercing Ammo", with suitable aspect. Then another player jumps into the road to stall the target into "Standing Still for a minute", so the sniper can create advantage by taking an acting to put him "Centred In My Sights".
Then the sniper free-tags all of those, for a base roll of +8 and a near-certain hit - with fate points to spare if he needs them.
Stacking enough of this sort of this can greatly reduce plausibility, but it's obvious behaviour for a group of D&D players where it's an expected part of the system to need to stack every combat advantage you can generate. I don't, however, feel it's as much of a problem as some Fate players do - this is behaves-as-designed. Fate characters are supposed to be able to beat pretty much any single obstacle if they can generate a convincing narrative. "He's not that good a shot, but it worked because an entire team was helping him take it" is a pretty good narrative to me, and gives the plot and characters room to develop further.
The "constant compels" problem arises when GM and players get caught in a Fate-point loop of constantly compelling aspects to force behaviour or non-actions from each other.
Remind your players, and remember as GM, that the point of compels is to implement narrative development. The Fate point economy will naturally limit how far players can push this, so it's not a problem unless the GM gets sucked into constantly offering Fate for compels. So don't. Compel when it's a narrative or character development to do so, not just because it's possible.
Long combats occur because groups have trouble actually taking out opponents of similar skill levels. This is particularly likely if your group is used to D&D, and trying to "wear them out" by all attacking individually. In Fate it's much more effective to set up a narrative about a couple of major attacks, taking multiple actions to support each other and make those go off well.
The best counter to most of these issues is threefold:
Let them have their moment. Players being able to tear through obstacles like this is not a problem in Fate the way it would be in D&D; it's expected behaviour of the system. Don't make it impossible, but ask what happens next and generate new obstacles. The problem can come more from a D&D-oriented GM feeling he has to make tasks "possible to fail" than from actual issues.
Your enemies are not idle. Don't GM in direct opposition to the player's actions, but instead change the game. Fate uses the same mechanics for social and combat conflicts, and it does so for good reason, expecting them to intermingle. Use it. Enemies will attack on social fronts, run away if they're in trouble, consult allies, adjust schemes, and all the other narrative options that are not often available to an orc in a dungeon.
Remember that in Fate, the player is always an informed participant, even when the character isn't. The gap between player and character knowledge is much bigger in Fate.
Situation: A hostage is tied to a chair. There is a trap which incinerates the room if anyone touches the hostage.
D&D answer: Tell the players nothing. Make hidden Perception checks. If anyone explicitly searches, make Search checks. Lie unless the players succeed at these checks.
Fate answer: Tell the players immediately that there's a trap. Let them make rolls and use aspects freely to see if the characters spot it. If one of the players has a "reckless" or "rescuer" aspect, compel it - offering a fate point if their character runs in carelessly and sets the trap off. Make the players partners in decisions that hurt their characters.
Best Answer
Every time an aspect introduces a meaningful complication into your character's life, you should probably get a Fate point for it; who suggested the complication is largely irrelevant.
Self compels are almost identical to regular compels! You suggest a way your character's life gets more complicated or dramatic because of an aspect in play; the suggestion gets negotiated 'til everyone's happy; then you get a Fate point from the GM's bottomless pool as a reward for making the story more interesting, and as a tool for solving problems later.
The flow of Compelling and Fate Points
Let's walk through the process of a compel and note how it changes depending on the relationship between the compel-suggester (hereinafter compeller) and the complication-recipient (hereinafter compellee). I'll talk about the philosophy of this at the end and include some sourced support.
Someone at the table suggests that an aspect is deliciously positioned to add complication or drama to a character's life.
There are three major kinds of compels, if we're categorising by who compels whom:
The group negotiates until the compel has acceptable teeth but nobody's PC is acting out of character.
This bit remains basically unchanged by whoever made the suggestion. It exists because Fate thinks it's important to a group to have this sort of collaborative dynamic.
Sometimes the negotiation results in the group being unable to reach a decision that everyone's okay with, in which case the compel is dropped and play continues. It's especially important to respect this if the compellee feels that it's forcing her PC to act contrary to the character's essential nature. No Fate points exchange hands if a compel is dropped because it's unreasonable or out of character. (FC 74)
The compel is accepted or bought off.
Assuming everyone's content with the shape of the compel at the end of the second stage, the compellee gets to choose whether to accept the compel or buy it off.
The compellee is given a Fate point:
The compellee loses a Fate point.
It effectively vanishes into the GM's bottomless pool for compels, unless it was a self-compel. In this case the player can simply withdraw the suggestion.
As you can see, the only difference between a self compel and a regular compel is that self compels never cost Fate points to buy off. It was the compellee's idea in the first place, she shouldn't be penalised for making a suggestion and then changing her mind.
Philosophy and sources
The Fate point economy runs on a very simple idea: complications pay out while solutions cost. This is the fuel on which the system's storytelling runs. Players are encouraged to embrace crisis, and when we do we're rewarded with the currency for future triumph.
Compels are a primary source of complication, and of Fate points. Players are explicitly urged to seek out decision compels when they're running out of points:
It's also clear that any decision which produces meaningful obstacles (complications or drama that make my goals harder to achieve) in a way that matches my aspects is a self-compel, because I'm told I can retroactively call for Fate points if we were so caught up in the role-playing that we ignored the mechanics in the heat of the moment:
I think it's important to note that Fate's pretty careful to talk about compels in terms of complications to a particular individual's life. Compels which complicate the entire party together (rather than complication spilling over from the first character's compel) are handled in other questions on this site: How to handle compels that affect the entire party? and Do all players have to agree to accept or deny a group compel?