register_globals doesn't affect the ease of injections, but having it turned off is a good idea as it will prevent certain attacks on a weak application (which uses uninitialised globals).
If on the other hand, your provider won't turn off magic_quotes, you must abandon them for another.
You cannot simply strip out these characters, as they can easily occur legitimately in data. Without a / or -, you're going to have difficulty entering dates into the application (for instance).
SQL injections should be prevented by correctly escaping strings, or using prepared statements. This is the right way.
HTML injections should be prevented by correctly escaping the strings in the output.
Other types of injections need to be handled in a specific way as necessary - for example, when sending mail, ensure that your email addresses and subject cannot contain newlines, nulls etc.
Mark