Extend Registration process on Wordpress Multisite, and Rating system customization -- 3

Job ID: 33110672

Budget: €30 – €250 EUR

I have theme, come with rating system for listings (Templatic Directory - https://demo.templatic.com/directory/ )
I need to rating in this theme would be linked not to listings, but to the users company (which may longer as username and consist of several words). At the same time, I want rating associate with actual users. I want to make the listing owner can not delete ratings and comments made by the other users for him, in case of negative feedback (similar as on Freelancer_com).

I thought up such a possible solution - created custom post type "Profile", where the user enters their listing with own company info, which will be linked to the user's profile, and visitors can give a rating.
I have Multisite with 3 themes. In this case I want to on registration user: 1) complete BuddyPress profile for subsite A, and 2) redirect users after first login - to submit post on subsite B in post type "Profile". Currently step 1 work, and step 2 partly.
In this case -
Task No 1) -
The problem is that the user can skip step 2. I need - if user don't submit one listing, they can't login and continue to use the whole site as registered user. This is additional condition of registration.
Task No 2) -
And I need that the user can submit only one listing in post type "Profile", and can not delete this listing.
Task No 3) -
The rating should be displayed beside the user's profile, on all post types, all detail pages.
Task No 4) -
Would be good if according to this rating (only one post type Profile) should be work sorting option on all category pages of all other post types (currently it applies separately for each post type) - as possible.
Sort by Comments should also work on the same principle as rating - sorting by comments count on Profile only for all post types.

Theme come with several own plugins, and has also a mobile version.
As possible - to make it easy every theme update process, I would like to these customizations could be made with separate plugins or code snippets - if it is possible.
If you want, we can separate work in several stages - Task 1+2 - 3 - 4.

Perhaps there was another, better solution for this functionality - I will be happy to hear your idea.
Related categories: PHP JavaScript WordPress CSS BuddyPress