From what I can tell, you "should" be able to do everything you are needing to do, through conditional actions. While I personally am not a big fan of conditional actions (seems like they take forever to setup right) I think this method is going to be the best choice in what you are trying to do. I setup some mock conditional actions once, I don't remember if it was for your situation or someone else's and was able to show/hide the shipping methods based on different criteria. It took me a little while to get it right, but It does work.
Have you already tried this approach?