am interested in doing some feature scaling to try and tease out something from my data (box plots by outcome show that the 25/50/75 quantiles are very similar; certain variables have more "outliers" than other by class. The issue I have however is that there is a lot of missing data. I would like to replace these NAs (they are numerical) with something like -9999. Should I first scale my data and then assign -9999 to NAs or first assign then scale?
Well -9999 can matter more or less depending on the variability within your data (is -9999 an extreme outlier value, or a moderate value somewhat close to the mean/median>)
Depends a lot on your data. A value like that can skew it a lot, and can affect modeling quite a bit depending on the technique you use. Are the NA's biased for a class? Consider decision trees that classify on optimal splits. They would detect a bias (e.g. if 90% of your NA's a certain class) and split at -9999 value to manifest that bias.
also check out Pareto scaling, which emphasizes small to medium changes in your data. Might be along the lines you are looking for.