you listed the only 2 options available.
The advantage of solution #2 is that you can apply specific config for each protocol ie: for HTTP you can turn 'persistent rebalance' if needed.
If you want to use specific probes [not icmp], it is also a good practice to create a different serverfarm for each protocol.
Like this, if the HTTP service goes down but not the server, you can still have other protocols loadbalanced.
Regards,
Gilles.
Thanks for rating this answer.