Well I don't know the function behind it, but if there are two shipment methods, which meets both in requirements like weight and price, it should select the one, which is cheaper for the customer in shipping costs...
That would the expected behavior..
Same on payment.
Have You set your ranges in shipment correctly?
The thing is overall, how should this functionally know, which shipment / payment should be selected at all, especially when You have over lapping methods for the same range..
In general with a correctly set up of ranges (from - to) it work as designed.
What are your requirements in which order a payment / shipment option should be Pre-selected?
Regards,
Bluezeyes