Experiment with cursor position on leaving Visual
Experiment with Visual mode mappings

Use <Space> to "yank", and '--' to go to the opposite end of the selection.