That can be done by editing the shipping module:
/includes/modules/shipping/table.php
and adding the code in RED, for example to add 10% of the total, to the shipping cost:
Code:
// bof: percentage cost
$order_total = $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices();
$extra_cost = round($order_total * .10,2);
//echo '$shipping ' . $shipping . ' $extra_cost: ' . $extra_cost . ' = ' . round($shipping + $extra_cost,2) . '<br>';
$this->quotes = array('id' => $this->code,
'module' => MODULE_SHIPPING_TABLE_TEXT_TITLE . $show_box_weight,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_TABLE_TEXT_WAY,
'cost' => $shipping + $extra_cost + (MODULE_SHIPPING_TABLE_HANDLING_METHOD == 'Box' ? MODULE_SHIPPING_TABLE_HANDLING * $shipping_num_boxes : MODULE_SHIPPING_TABLE_HANDLING) ) ));
// eof: percentage cost