There are two options for establishing such a ranking. On the one hand you can define a ranking order, and rank the firms first according to A, then B, etc. On the other hand you can combine the scores of A..D to obtain a single score, which can then be ranked trivially.
I am assuming that you would be more interested in the latter. In order to combine the scores of A to D in a fair way it is important to ensure that they operate on the same scale. If the scores are not already operating on the same scale, then this can be established by normalising each score between 0 and 1 (divide all values for a specific score by the maximum of that score, assuming all scores are positive) or between -1 and 1 if the scores can take on negative values.
Once you have normalised the scores, you can combine them. This can be done trivially by simply taking the average of the score, or by specifying specific weights based on the importance of the score. If you have some historical data available with the correct rankings, then you could also consider to apply regression to this data in order to obtain the weights for each score.
I would start with a simple average of the combined scores, and then ranking. If that does not produce satisfactory results I would manually play a bit with the weights, and see if you can find a configuration that better suits your needs.