Field Security

I’m looking for some advice, or what other users are doing for field level security. We are trying to limit access to specific fields, but still allow screen personalization to all users. Field level security works for the most part, but does not allow us to remove calculated fields. We would like to stop users from being able to unhide any fields, including calculated fields that contain data we view as sensitive. So far, we do not see how this is possible.

We have found a possible solution by creating new dashboards for each list view that contain sensitive fields and then deploying these dashboards to a custom sheet. This is very time consuming and does not support user personalization. Is there a better way? Looking for suggestions.