// in the quote method for all other enabled shipping modules (or with an observer if one is available):
Don't do this. It will make it harder to update shipping modules.

Modify includes/classes/shippping.php and change the quote method to check whether there are pickup items in the cart - then your change is in one place only and shipping modules can be updated at will.