I want that my users are forced to enter metadata when they upload/bulk upload document.When bulk uploading document it would be cool that users add the metadata once and it applies to all the files
If you put a required field of your metadata, you would enforce that kind of behavior. But at would advice you not to use the same metadata tag on all bulk uploaded documents, since it makes the risk of user error greater. Imho every document uploaded should have its own set of metadata carefully selected. Otherwise your just turning your metadata to a simple folder.
Well, there are a number of options but they comes with pros and cons
First step should be to set the field(s) as mandatory
The next step is to decide which versioning you need. The default is Major versions, 500, and that works great in most cases as it is easy to understand and people rarely needs draft versions. When uploading docs to libraries with major versioning the users will not be forced to supply a value, but the fields will be highlighted in the Fields that needs attention view.
If you on the other hand goes with major and minor versioning, which is a royal pain in the behind for the user, you can not check in the document without supplying the mandatory fields. The downside is that users often forgets to check in a lot of documents
If your documents are highly managed and uses workflows like approval or similar it is another story, and major/minor versioning is most likely a must