Thinking about this issue a while back I came up with an idea to make subs useful without the long hours of boredom... Basically, make it so the sub travels with the cv task group and can only be taken a maximum distance of 2 sectors from the main force. That way, they can still effectively screen the TG, and be sort of an early warning system for when an enemy TG is close. Along with that, have at least 1 sub tied to each port that can patrol in an area of say 3 sectors from it's home port. That would give them a bit of range, and prevent people from being able to camp another port, endlessly sinking their cv.
Dunno how it'd work in reality, but it's a thought.