Randomizing nodes in a view display
You could try the Views Field View module, which allows you to have a view as a field in another view.

So you would set up your view of nodes, filtering by taxonomy term and sorting randomly. Limit this to one result.

Then add another view that just shows the field collection items with a contextual filter for the parent entity id (I can't remember right now what filter you would use).

Then add the second view as a field on the first view.