Real SQS throws `There should be at least one SendMessageBatchRequestEntry in the request. (Service: AmazonSQS; Status Code: 400; Error Code: AWS.SimpleQueueService.EmptyBatchRequest;` when there is a send batch of zero size.

This would be useful to mimic inside localstack in order to find these bugs earlier.
@staticmethod
    def _fix_date_format(response):
        """ Normalize date to format '2019-06-13T18:10:09.1234Z' """
        def _replace(response, pattern, replacement):
            content = to_str(response.content)
            response._content = re.sub(pattern, replacement, content)
        pattern = r'<CreateDate>([^<]+) ([^<+]+)(\+[^<]*)?</CreateDate>'
        replacement = r'<CreateDate>\1T\2Z</CreateDate>'
        _replace(response, pattern, replacement)
    @staticmethod
    def _fix_account_id(response):
        return aws_stack.fix_account_id_in_arns(
            response, existing=MOTO_ACCOUNT_ID, replace=TEST_AWS_ACCOUNT_ID)
    @staticmethod
    def _fix_error_codes(method, data, response):
        if method == 'POST' and 'Action=CreateRole' in to_str(data) and response.status_code >= 400:
            content = to_str(response.content)
            flags = re.MULTILINE | re.DOTALL
            
            response._content = re.sub(r'<Errors>\s*(<Error>(\s|.)*</Error>)\s*</Errors>', r'\1', content, flags)
    @staticmethod
    def _reset_account_id(data):
        """ Fix account ID in request payload. All external-facing responses contain our
            predefined account ID (defaults to 000000000000), whereas the backend endpoint
            from moto expects a different hardcoded account ID (123456789012). """
        return aws_stack.fix_account_id_in_arns(
            data, colon_delimiter='%3A', existing=TEST_AWS_ACCOUNT_ID, replace=MOTO_ACCOUNT_ID)