Register scripts located in child theme?

I think that none the options you has posted actually works. You are only registering the script, you need to enqeue them. Also, you should use wp_enqueue_scripts() action hook instead of init().

    function register_scripts() {
        wp_register_script( 'newsletter', get_stylesheet_directory_uri() . '/scripts/scripts.js', array( 'jquery-migrate' ), null );
        wp_enqeue('newsletter');
    }
   add_action( 'wp_enqueue_scripts', 'register_scripts' );