Single-player games, even those with random elements, can be designed such that the odds of winning in perfect play can be 100% or (easier) extremely close to 100%.
A little off-topic, but I've been trying to come up with a way to quantify (or at least usefully bucket) the strength of the effects of chance on a game. Do you have any ideas for how do to that?
In a completely symmetric multiplayer game, Player A is measurably more skilled than Player B if, over a large number of games, Player A's win rate is higher than 50% by a statistically significant margin. This definition can be extended to both single-player games, and to non-symmetric multiplayer games, by saying that after Player A and Player B have played the same scenario a large number of times, that Player A's win rate is higher than Player B's by a statistically significant margin. The "same scenario" meaning identical starting conditions for single-player, or the same opponents for multi-player. This can be extended again by saying "the same scenario" means drawing starting conditions or opponents from the same random distribution (by relying on the nature of statistical significance).
So that's how you would define pairwise player skill. From this, there are several ways to determine total rankings for a population of players, using Elo or linear algebra techniques. I'm eliding details here because this is the step where they matter the least.
Finally, in order to determine the impact of Luck vs Skill: Take two players at different skill levels. Say, Player X is at the median skill level, and Player Y is two standard deviations above that (top 5%). What is Player Y's win rate over Player X? The closer to 100%, the more skill-based the game is. The closer to 50%, the more luck-based the game is.
Note that in general this will depend heavily on which two skill levels you pick to compare. For example, Player X is median, Player Y is top 5%, Player Z is top 1%. Players Y & Z could have a 100% win rate over Player X, but Player Z only has a 51% win rate over Player Y. This game would probably be described as heavily skill-based, but with a low skill ceiling.
In a multiplayer game, write a skilled/optimum player and a naive/basic player. The win-percentage of the weak bot can be a good measure of chance.
Many roguelikes (a category FTL is usually included in) have bots which facilitate this kind of analysis. But since competent bots are sometimes difficult to write well, some games also use "scummers" and/or stats modules which generate millions of randomly-generated levels and compute difficulty or reward heuristics for each, ensuring that the st. dev. is within desired ranges. If the heuristics are good, this can be sufficient.
Another option in a hosted game or one that can phone home is to have real-live players be the guinea pigs instead of the bots. Same basic principles apply.
In the case of single-player games such as FTL, people really do mean one single game when they talk about winning or losing. Otherwise, your odds of winning no matter how bad you are begin to approach 100% if you play enough games.
Reportedly, skilled FTL players can win nearly every game. Similar things have been reported about certain other roguelikes.
Just the very notion of perfect play somehow ensuring a win is rather silly in the context of imperfect information and games of chance. Look at the game of poker: even a heavy underdog can win if he catches perfect.