I don't know why the code you posted is doing str_replaces on the template cache, maybe there's a reason I don't understand. But I don't think you need to do that when you want to insert stuff right where there's a template hook. I think it would work if you just used a plugin at postbit_display_start and this code:
Code:
$post['tipratio'] = round(($post['reputation'] / $post['posts']) * 100, 2);
$template_hook['postbit_userinfo_right_after_posts'] .= "<dt>Tip Ratio</dt> <dd>{$post['tipratio']}%</dd>\n";