Assuming your users are entering items via the New Item form, rather than via datasheet view or inline editing, you can add JavaScript to the New Item and Edit Item forms that will retrieve the content type ID from the query string parameters (if specified) and store it in a text field on the form.
You can then reference that text field instead of referencing Content Type in your calculated column.
Assuming you add a text field to your content types named "Content Type ID" your JavaScript might look something like this:
var fieldToPopulate = document.querySelector("[title='Content Type ID']"); // Get textbox
fieldToPopulate.setAttribute("disabled","disabled"); // Prevent user from entering value
var ctid = GetUrlKeyValue("ContentTypeId"); // Get ContentTypeId from query string
if(ctid.length > 0){
fieldToPopulate.value = ctid;
}