The blank page is probably coming from a surrounding <p> element's normal margin, not the SVG code itself; you're shrinking the cover enough that the skipped line after it fits on the same page. That's why I use this cover-page code instead; it has no such problems, because there's no top/bottom margin at all:
Code:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<title>Cover</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
@page { margin: 0; padding: 0; }
body, div { margin: 0; padding: 0; }
body { background-color: #000000; color: #ffffff; }
div { text-align: center; page-break-after: always; }
img { height: 100%; max-width: 100%; }
</style>
</head>
<body><div>
<img alt="Cover" title="Cover" src="cover image"/>
</div></body>
</html>