Move that first plugin to global_complete (for example's sake). I always forget that the global_start one has output buffering which would give you the blank page.
Once you see the output from a compiled template, it will give you an idea on how to actually figure out what to put in $find and $replace.
For the alternate method, upon successfully displaying the signature once, you can empty that variable so it won't display again, rather than relying on the template edit.
postbit_display_start
PHP Code:
// if signature exists, and cached (already displayed on page)
if ($this->post['signature'] and $this->cache['sig'][$this->post['userid']]) {
$this->post['signature'] = '';
$this->post['showsignature'] = false;
}
Not tested, but may work.