blank page when trying to change upload directory

You need a better function, your paths are broken – see this answer for reference:

function wpse_16722_type_upload_dir( $args ) {
    if ( ! empty( $_REQUEST['post_id'] ) && $post_id = absint( $_REQUEST['post_id'] ) ) {
        if ( $post = get_post( $post_id ) ) {               
            if ( $post->post_type !== 'attachment' ) {
                $args['subdir'] = "/$post->post_type"; // Must be preceded with slash
                $args['path']   = $args['basedir'] . $args['subdir'];
                $args['url']    = $args['baseurl'] . $args['subdir'];
            }
        }
    }

    return $args;
}