How can I force users to input a shipping address when using the Commerce Paypal WPS submodule?
Have you tested this:

You need to activate the Shipping pane under checkout process:


Go to Administration > Store settings > Advanced store settings > Checkout settings (admin/commerce/config/checkout),
Check Shipping service under "Checkout pane configuration" or if you use recent version of DC move "Shipping information" pane from disabled panes section to Checkout section,
Save.




If you want to alter data before sending, use the hook_commerce_paypal_wps_order_form_data_alter(). You need to fetch the customer shipping profile for the current order using commerce_customer_profile_load() and add the values you need from the shipping profile to the $data array.