Can I use logistic regression if the distribution of proportions is skewed & lies in the middle of the [0,1] interval? I am conducting a logistic regression in order to predict the service point win percentage of a tennis player.
In terms of data - I have (for each player A) approx 300 matches - for each match I have the total number of player A service points (points where he is the server), total number of player A service point wins and total number of player A service point losses. 
To do so, I have service point win percentage as the DV, and my independent variables are:
+Average service win percentage of last 3 matches
+ln(player's ranking points)
+ln(opposition's ranking points)
+surface the match was played on  
My dependent variable data, service win percentage, lies usually in the range of 0.4-0.8, there are pretty much no values greater that 0.8 (about 2.8% of values and this drops to < 1% at around 0.84) and there exists no values less than 0.22. In addition my data is much more concentrated above 0.5 than it is below 0.5. 
Thus, I worry that since my data doesn't have points close to zero or 1, and is not symmetrical around 0.5 (like the sigmoidal curve of logistic regression) that I am wasting my time with this model type. The results it is giving for my preliminary model outlined above are, although not shocking,  pretty volatile.
I am conducting this in R and using the weights command to allow me use a proportion in the DV, giving the total number of trials as the weights. I use ln(points) because ranking points are exponential in nature. 
The goal is to predict / forecast the service point win percentage of the player based on the IV's. Considering my data distribution, and my goal, does logistic regression make sense? If not is there any other type of model that makes more sense? 
 A: Logistic regression looks like a good choice here. You don't need responses centered on 0.5. I'm not so sure about the weights. If you have a column of successes (say r) and a column of trials (total service points), you can do
glm(cbind(r,n-r) ~ IV1 + IV2 + IV3, family=binomial(), data=tennisData)
and the estimation takes care of things.
If each player has several matches and each match has several service points, you might want to include a random effect for matches. A random effect for players is also possible, but you are probably doing better by including past player outcomes in the model. In other words, I doubt you would be able to estimate a player effect in a model that also contains the "average of previous matches" variable. If there is a match effect, it is important to include it so as obtain appropriate confidence intervals for your predictions.
A: You should be fine.  Logistic regression assumes that your response variable is binomial, which yours is.  It is not required that your data span a sufficient range of values in any independent variable that the entire sigmoid shape is reproduced.  
A different issue is that logistic regression makes no assumptions regarding the distribution of your independent variables.  Thus, you do not need to take the log of points, for example (you certainly can if you want to for other reasons, though).  
On the other hand, regular old logistic regression assumes the data are independent.  Since you have multiple data from the same player, that won't be true.  To account for this, you need to fit a mixed effects logistic regression, i.e., a generalized linear mixed model (GLMM).  
