correction of read counts for spikes
The most common and simplest normalization method for spikes is the Total Count Normalization. It's actually what you're doing here, so what you're doing here is correct. TCM is a useful algorithm for normalizing sequencing depth, that includes your spike amounts.


  https://academic.oup.com/bib/article-lookup/doi/10.1093/bib/bbs046


has reference on the TCM normalization.


  Gene counts are divided by the total number of mapped reads (or library size) associated with their lane and multiplied by the mean total count across all the samples of the dataset.


The paper doesn't talk about spike-in controls, but the idea is the same. We'd use the spike-in controls for estimating the difference in sequence depth (instead of the whole data set).