I am trying to make it so that my users are forced to choose a document type, not given a default. I have made it such that the "new item" button has the functionality, but this doesn't account for those who drag and drop. The drag and drop items are given the default content type. Is there any way to make the user select a content type, that way they don't accidentally leave it as the default?
There's really no simple solution for this one.
If you are fine with defining the content type based on e.g. file extension, you could add an event receiver which determines the content type for the uploaded item.
Other than that, drag and drop is pretty limited. It's purpose could be described as
Drag and Drop is for only uploading the files into the documents library with minimal effort. It cannot help you to add meta data to the documents while doing so. You should be editing each file to add meta data to the document separately. Default content type will be applied while drag and drop.
If drag and drop is mainly causing your problems, you could disable the whole function. There's an existing solution for disabling drag and drop here: How can I disable the Document Library drag and drop function?